Oberflächenelemente erzeugen

Zurück zu Fenster    

Nachdem wir eine neue Fensterklasse erstellt haben, wollen wir diese verständlicherweise auch verwenden. Dazu rufen wir den Konstruktor der Klasse zur Erstellung des Fensterobjekts auf. Anschließend müssen wir noch die Elementfunktion Create() aufrufen, um die Erzeugung der Oberflächenelements zu initiieren. Für modale Fenster wird die Elementfunktion Execute() verwendet.

Im Klartext heißt das, daß vor dem Aufruf von Create oder Execute noch kein Oberflächenelement existiert. Die Ursache dafür liegt darin begründet, daß zur Erzeugung eines Elementes zwei Initialisierungsschritte verwendet werden. Der erste Schritt liegt im Konstruktor und der zweite in der Elementfunktion SetupWindow(). Im Konstruktor erfolgen alle Initialisierungen bervor das Oberflächenelement erzeugt wird, wie beispielsweise die Fensterattribute. Create() ruft die Funktion SetupWindow() auf, in der Initialisierungen vor und nach der Erzeugung des Oberflächenelements durchgeführt werden können. Der Aufruf von Execute() bewirkt ebenfalls den Aufruf von SetupWindow(), nur daß dies bei Verwendung von Execute() indirekt geschieht (Bei TDialog z.B. in EvInitDialog);

Über das Datenelement HWindow einer Fensterklasse läßt sich feststellen, ob das Oberflächenobjekt ein gültiges Oberflächenelement besitzt. Ist HWindow gleich dem Wert 0, gibt es noch kein Oberflächenelement, ansonsten enthält HWindow das Fensterhandle des Oberflächenelements. Dieses Datenelement stellt also die Verbindung zwischen Oberflächenobjekt und Oberflächenelement dar. Bevor das Oberflächenelement nicht erzeugt wurde, können wir auch logischerweise nicht mit diesem über Elementfunktionen der Klasse oder den Funktionen der Windows API kommunizieren oder in irgendeiner Form darauf zugreifen.

Zurück zu Fenster    

Stand: 01.11.98 20:43:35
© 1998 by Hans Joachim Kiefer, hajokiefer@handshake.de