[C++ Builder 2010] Forms "aneinanderheften"
-
Hallo zusammen!
Ich hab gerade ein Problem mit meiner Anwendung:
Die Software besteht aus einem MainForm und weiteren Forms, zu denen man über Knöpfe im MainForm gelangt. Angenommen eines dieser weiteren Forms heißt "Form1". Wenn ich die Anwendung starte und "Form1" über den entsprechenden Button in MainForm aufrufe, wird mir Form1 angezeigt. Wenn ich nun Form1 verschiebe liegt dahinter immer noch das MainForm.
Kann man es so anstellen, dass alle geöffneten Forms gleichzeitig verschoben werden, egal welches ich gerade verschiebe?Danke!
-
Hallo,
Du könntest die WM_MOVING Message deiner Form abfangen und entsprechend die Position deiner untergeordneten Fenster anpassen.
abfangen siehe hier
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39149.html
-
Per WM_WINDOWPOSCHANGING funktioniert es bestens:
void __fastcall TForm1::Dispatch(void *Message) { switch (((TMessage*)Message)->Msg) { case WM_WINDOWPOSCHANGING: if(Form2 != NULL && Form2->Showing && this->Active) { Form2->Left = this->Left + this->Width; Form2->Top = this->Top; } break; default: TForm::Dispatch(Message); break; } return; }
Gruß