MDI-Child schliessen
-
wie kann ich in dem MDI-Fenster mitbekommen, das ein Child-Fenster geschloßen wurde?
-
Im Child-Form kannste das abfangen.
Im ereignis namens: Close oder CloseQuery.
Eins von beiden wars. Glaube eher das CloseQuery ist...
-
indem du FChild == NULL anfragst.
dafür musst du natürlich jedes Fenster mit
if (FChild == NULL) { FChild = new TFChild(NULL); } FChild->Show();
initialisieren.
Dabei ist es wichtig im Builder unter Projekt->Optionen->Formulare FChild aus den automatisch erzeugten Fenstern, zu den verfügbaren Fenstern zu legen. (sonst ist es nie NULL)In dem OnClose Ereignis des Formulars FChild müssen dann noch die folgenden zwei Zeilen:
Action = caFree; FChild = NULL;
-
im Ereingnis OnCloseQuery kannst du CanClose setzten
damit setzt Du eine Erlaubnis das Fenster zus schliessen.CanClose = (MessageDlg("Frage", "Alle nichtgespeicherten Daten gehen verloren. Fortsetzten?", mtConfirmation, mbYesNo, 0, mbYes) == mrYes);
-
Ich will das nicht im Child-Form sonder im Main-Form abfangen
-
Das Childform kann ja im Parentform eine Methode aufrufen... oder nicht?
-junix
-
Ja. Zur Not. Wenn nicht anders geht.