Fenster

Übersicht    

Fenster sind der Dreh- und Angelpunkt in einem Windowsprogramm. Ohne diese Oberflächenelemente wäre eine Interaktion mit dem Benutzer überhaupt nicht denkbar. Daher spielen die Fensterklassen auch in der ObjectWindows Bibliothek eine wichtige Rolle. Sie stellt eine große Anzahl verschiedenster Klassen für unterschiedlichste Fenstertypen bereit. Wenn ein Programm auf dem Bildschirm erscheint, sehen wir eine Vielzahl von Elementen wie Fenster, Schalter, Bildlaufleisten, Dialogfenster, Eingabefelder und vieles mehr. Alle diese Elemente bezeichnen wir als Oberflächenelemente.

Oberflächenobjekte hingegen sind Instanzen der Klassen, die diese Elemente repräsentieren. Nehmen wir als Beispiel ein Fenster: Das Fenster, das wir auf dem Bildschirm sehen ist das Oberflächenelement. Die Klasse, die wir zur Repräsentation dieses Fensters verwenden ist TWindow. Die von dieser Klasse erzeugte Instanz nennt man Oberflächenobjekt oder auch Klassenobjekt:

TWindow* window = new TWindow(0, "Ein Fenster");
// window ist das Oberflächenobjekt

Oberflächenobjekte kapseln die Oberflächenelemente ein und besitzen Elementfunktionen und Datenelemente, die die Verwaltung, Erzeugung, Initialisierung, Kommunikation und das Entfernen der mit ihnen verbundenen Oberflächenelemente erleichtern. Nach der Erzeugung eines Oberflächenobjektes ist das Oberflächenelement noch nicht unbedingt auf dem Bildschirm sichtbar. Dazu bedarf es in der Regel noch einem weiteren Aufruf der Elementfunktion Create() oder Execute(). Es besteht aber auch die Möglichkeit derr automatischen Erzeugung (EnableAutoCreate).

Sämtliche Klassen für Oberflächenobjekte der ObjectWindows-Bibliothek sind von der Klasse TWindow abgeleitet.

Die Klasse TWindow
Eltern- und Kindfenster
Deklaration einer Fensterklasse
Definition einer Fensterklasse
Konstruktion eines Fensterobjekts
Oberflächenobjekte erzeugen
Oberflächenelemente erzeugen
Die TWindowAttr Struktur
SetupWindow
Die Elementfunktion Run()
Attributmasken

Übersicht    

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