Thema: Delphi TForm.Close

Einzelnen Beitrag anzeigen

galex

Registriert seit: 8. Jan 2004
4 Beiträge
 
#11

Re: TForm.Close

  Alt 8. Jan 2004, 10:30
Zitat:
Hide macht das Formular nur unsichtbar, schließt es baer nicht, dies tut nur, wie der Name auch schon sagt, Close();.
Richtig! Und was will man genau mit Close(); erreichen?
Ich denke die Frage muß genau definiert werden.


Zitat:
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.
  Mit Zitat antworten Zitat