Benutzerdefinierte Steuerelemente

Anwendungen können benutzerdefinierte Steuerelemente zum Ausführen von Aufgaben, die nicht von vordefinierten Steuerelementen unterstützt. Der Win32-API bietet die folgenden Möglichkeiten zum Erstellen benutzerdefinierter Steuerelemente:

Verwenden von Ownerdrawn-Steuerelementen

Schaltflächen, Listenfelder und Kombinationsfelder haben Ownerdrawn-Stile zur Verfügung, die direkt das Steuerelement, um eine Nachricht an das übergeordnete Fenster, wenn das Steuerelement gezeichnet werden muss. Dieses Feature ermöglicht eine Anwendung das Erscheinungsbild eines Steuerelements ändern. Tasten wirkt sich der Ownerdrawn-Stil wie das System das gesamte Steuerelement zeichnet. Für Listenfelder und Kombinationsfelder das übergeordnete Fenster zeichnet die Elemente innerhalb des Steuerelements, und das Steuerelement zeichnet eine eigene Gliederung. Beispielsweise kann eine Anwendung ein Listenfeld so anpassen, dass es eine kleine Bitmap neben jedem Element in der Liste angezeigt wird.

Eine Anwendung kann Listenfelder, Kombinationsfelder und Schaltflächen als Ownerdrawn-Steuerelementen festlegen, indem Sie diese mit den entsprechenden Stil erstellen. Wenn ein Steuerelement ownerdrawn-Stil hat, behandelt das System die Interaktion des Benutzers mit dem Steuerelement wie üblich, solche Aufgaben als erkennen, wenn ein Benutzer eine Schaltfläche ausgewählt hat und die Schaltfläche Besitzer des Ereignisses benachrichtigen. Jedoch, weil das Steuerelement ownerdrawn ist, das übergeordnete Fenster des Steuerelements ist verantwortlich für das visuelle Erscheinungsbild des Steuerelements. Weitere Informationen über das Ownerdrawn-Steuerelementen finden Sie unter Ownerdrawn - Schaltflächen, Ownerdrawn - Listenfeldernund Kombinationsfeldern Ownerdrawn-.

Bilden von Unterklassen der Window-Klasse eines vorhandenen Steuerelements

Bilden von Unterklassen für ein vorhandenes Steuerelement ist eine weitere Möglichkeit zum Erstellen eines benutzerdefinierten Steuerelements. Die Unterklasse-Prozedur kann ausgewählte Verhalten des Steuerelements ändern, indem verarbeitet die Nachrichten, die die ausgewählten Verhalten beeinflussen. Alle anderen Nachrichten übergeben an die ursprüngliche Fensterprozedur des Steuerelements. Z. B. eine Anwendung kann anzeigen eine kleine Bitmap neben den Text in einem nur-Lese-, einzeilige Edit-Steuerelement durch bilden von Unterklassen für die Kontrolle und Verarbeitung der WM_PAINT -Nachricht. Weitere Informationen finden Sie unter Window Subclassing Verfahren.

Obwohl eine Anwendung Unterklasse eine vordefinierte Steuerelement kann, hängt es die Fensterprozedur des Steuerelements auf alle anderen Aspekte der das Verhalten des Steuerelements bieten. Weitere Informationen über das Verhalten eines Steuerelements finden Sie unter das einzelne Thema für die vordefinierte Steuerelemente.

Implementieren einer Anwendung definierte Fensterklasse

Der Prozess für die Registrierung einer Anwendung definierte Fensterklasse für ein benutzerdefiniertes Steuerelement ist das gleiche wie für die Registrierung einer Klasse für ein gewöhnliches Fenster. Erstellen Sie ein benutzerdefiniertes Steuerelement angeben den Namen der Fensterklasse in der CreateWindowEx -Funktion oder in einer Dialogfeldvorlage. Jede Klasse muss einen eindeutigen Namen, eine entsprechende Fensterprozedur und andere Informationen.

Zumindest zieht die Fensterprozedur des Steuerelements. Wenn eine Anwendung das Steuerelement verwendet, damit die Benutzerinformationen, die Fensterprozedur auch verarbeitet Eingabemeldungen von Tastatur und Maus und sendet Benachrichtigungen an das übergeordnete Fenster. Zusätzlich, wenn das Steuerelement Control-Messages unterstützt, verarbeitet die Fensterprozedur Nachrichten durch das übergeordnete Fenster oder anderen Fenstern an. Beispielsweise verarbeiten Steuerelemente häufig WM_GETDLGCODE Dialogfelder ein Dialogfeld direkt per Tastatureingabe in einer bestimmten Weise zu verarbeiten.

Index