form->notMovable=true ??
-
ich will mir MDIChildren erstellen, die im MainForm nicht verschoben werden können.
gibts da ne versteckte eigenschaft??
oder irgendwie sehr umständlich mit onClick und maus-koordinaten=?
ist ja vielleicht kein so originelles problem.
aber: weiss einer rat?thx 4 hlp....
KingSmile aka
M4rFff
-
bei normalen forms gehts so wie hier beschrieben...
http://bcbcaq.bytamin-c.com/CAQs/prevent_move.html
-
Ich habs versucht....
bin eher nen c++ nub, vielleicht verstehe ich deshalb nicht
wie dieser handler funzt....
fehlen da nicht die klammern??
an welcher stelle soll ich die deklaration schreiben??
Wie soll ich diesen handler richtig schreiben ?
ohne ' ; ' ??
public, published?das andere klappt auch nur begrenzt.
-
... public: ... void __fastcall WMNCHitTest(TMessage &Msg); BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_NCHITTEST, TMessage, WMNCHitTest) END_MESSAGE_MAP(TForm)
so müsste es funktionieren
-
Nimm lieber die zweite Möglichkeit. Die ist weitaus eleganter.
-
hab gemacht....
die 2. variante funzt nicht.
hab was von:SetMainWindowClientCoordinates(const Value: TRect, MDIChild)
Wenn du den einzelnen Werten "0" zuweist, dann ist es unbeweglich.
MainWindowClientCoordinates->Top(MDICHILD);
MainWindowClientCoordinates->Left(MDICHILD);
MainWindowClientCoordinates->Right(MDICHILD);
MainWindowClientCoordinates->Bottom(MDICHILD);gehört...
klappt das?in welche cpp solln das?
-
Du bist dir sicher das die zweite Methode nicht geht? Bei mir funzt die super:
Und wenn du noch verraten würdest wo du das mit dem MainWindowClient gehört hast..
-
also:
mainwindowclient...
meinte nen kumpel.
klapt nciht.bei diser 2. variante...
die habe ich in den konstruktor von meinem MDIchild geschrieben.
war das richtigß?
es lässt sich leider immer noch verschieben.
muss ih das woanders hin schreiben?mit diesem handler hab ich auch meine probleme.
deklaration und definition der funktionen sind mir klar, aber an
welcher stelle wird die funktion den aufgerufen?
und mit welchen parametern?
-
Welche Funktion mit welchen Parametern? Ein Handle ist einfach nur eine eindeutige Nummer innerhalb des Betriebssystems den so ziemlich alles in Win hat.
jedenfalls das geht bei mir:
Form1 = Formstyle: MdiForm
Form2 = Formstyle: MdiChildborderstyle =
bsSizeable (bei beiden, kommt sonst bei einigen Konstallationen zu Problemen daher fett)
__fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { HMENU sysmem = GetSystemMenu(Handle, FALSE); DeleteMenu(sysmem, SC_MOVE, MF_BYCOMMAND); }