Das Ereignis OnClose wird beim Schließen des Formulars ausgelöst.
Delphi-Syntax:
type
TCloseAction = (caNone, caHide, caFree, caMinimize);
TCloseEvent = procedure(Sender: TObject; var Action: TCloseAction) of object;
property OnClose: TCloseEvent;
Beschreibung
Mit OnClose können Sie spezielle Verarbeitungen durchführen, wenn das Formular geschlossen wird. Das Ereignis OnClose legt fest, welche Ereignisbehandlungsroutine beim Schließen eines Formulars aufgerufen werden soll. Sie können in der zugehörigen Ereignisbehandlungsroutine beispielsweise prüfen, ob in allen Feldern eines Dateneingabeformulars gültige Eingaben vorgenommen wurden.
Ein Formular wird geschlossen, nachdem die Methode Close aufgerufen oder im Systemmenü die Option Schließen gewählt wurde.
Der Typ TCloseEvent zeigt auf eine Methode, die für das Schließen des Formulars zuständig ist. Der Parameter Action bestimmt, ob das Formular tatsächlich geschlossen wird. Er kann die folgenden Werte annehmen:
Code Bedeutung
caNone Das Formular darf nicht geschlossen werden, daher geschieht nichts.
caHide Das Formular wird nicht geschlossen, sondern lediglich verborgen. Die Anwendung kann nach wie vor auf das Formular zugreifen.
caFree Das Formular wird geschlossen und sein Speicher freigegeben.
caMinimize Das Formular wird nicht geschlossen, sondern als Symbol angezeigt. Bei untergeordneten
MDI-Formularen ist dies die Standardeinstellung.
Enthält bei einem untergeordneten
MDI-Formular die Eigenschaft BorderIcons den Wert biMinimize, wird caMinimize als Standardaktion verwendet. Ist diese Eigenschaft nicht gesetzt, erhält Action den Standardwert caNone, und beim Schließen des Formulars werden keine speziellen Verarbeitungen durchgeführt.
Bei einem untergeordneten
SDI-Formular wird Action der Standardwert caHide zugewiesen.
Um das Formular in einer Ereignisbehandlungsroutine für OnClose zu schließen und freizugeben, setzen Sie Action auf caFree.
Hinweis: Beim Beenden der Anwendung tritt das Ereignis OnClose nur im Hauptformular, aber nicht in den untergeordneten Formularen auf.