001
04.03.2009, 22:47 Uhr
öni
|
Jede Form hat das Ereignis OnCloseQuery. Aus der Hilfe von Borland zitiert:
Das Ereignis OnCloseQuery wird ausgelöst, wenn die Methode Close aufgerufen oder die Option Schließen im Systemmenü gewählt wird.
typedef void __fastcall (__closure *TCloseQueryEvent)(System::TObject* Sender, bool &CanClose); __property TCloseQueryEvent OnCloseQuery = {read=FOnCloseQuery, write=FOnCloseQuery, stored=IsForm};
Beschreibung
Mit OnCloseQuery können Sie festlegen, unter welchen Bedingungen das Formular geschlossen wird. Der Boolesche Parameter CanClose der Ereignisbehandlungsroutine bestimmt, ob das Formular geschlossen werden darf (Standardwert true ).
In der Ereignisbehandlungsroutine für OnCloseQuery können Sie den Benutzer fragen, ob das Formular wirklich geschlossen werden soll. Der Benutzer kann beispielsweise in einem Meldungsfenster aufgefordert werden, vor dem Schließen des Formulars eine Datei zu speichern.
Der Typ TCloseQueryEvent zeigt auf die Methode, in der die Verarbeitung durchgeführt wird.
Somit müsstes du in der Funktion abfragen ob Benutzer ja oder nein klickt und dann eben beim Schliesen CanClose auf true setzen, wobei das ja schon default mäsig ist und beim "nicht schließen" eben CanClose = false; schreiben.
Aber mal ganz ehrlich vor 5min wusste ich das auch nicht, aber sowas findet man doch alleine wenn man sich kurz anstrengt oder? Im Objektinspektor sind doch schon alle vordefinierten Ereignisse aufgelistet. Ich hoffe das funktioniert nun auch was ich nun geschrieben hab :P |