Steuerelement-Einfärben

Steuerelemente und das System können die Steuerelement-Farbe Nachrichten senden, wenn sie die Dialogfeldprozedur zum Zeichnen des Hintergrunds für ein Steuerelement oder ein anderes Fenster wollen mit einem speziellen Pinsel und Farben. Dies kann nützlich sein, wenn Anwendungen, die in Dialogfeldern und ihre Steuerelemente verwendeten Standardfarben überschreiben. Im folgenden werden die Steuerelement-Farbe-Nachrichten, die die WM_CTLCOLOR-Nachricht ersetzt haben.

WM_CTLCOLORBTN
WM_CTLCOLORDLG
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORMSGBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC

Ein Steuerelement sendet eine Steuerelement-Farbe-Meldung an das Dialogfeld im Feld Prozedur kurz bevor es seinen eigenen Hintergrund zeichnet. Die Nachricht ermöglicht der Prozedur an, die zu verwenden, legen Sie die Hintergrund- und Vordergrundfarben Farben Pinsel. Das Verfahren legt einen Brush durch das Pinsel-Handle zurückgeben. Legen Sie die Hintergrund- und Vordergrundfarben Farben, den die Prozedur verwendet die SetBkColor und SetTextColor Funktionen mit des Steuerelements anzeigen Gerätekontext. Die Steuerelement-Farbe-Meldung übergibt einen Handle des Gerätekontexts Anzeige an die Prozedur in die Nachricht wParam -parameter.

Das System sendet eine WM_CTLCOLORDLG-Meldung an die Dialogfeldprozedur, wenn das Verfahren nicht die WM_ERASEBKGND -Meldung verarbeitet. Die vordefinierten Dialogfeld Box-Klasse eine Klasse Hintergrundpinsel keinen also diese Nachricht das Verfahren seinen eigenen Hintergrund zu definieren, ohne den Code zur Durchführung der Arbeiten enthalten können.

In jedem Fall, wenn eine Dialogfeld im Feld Prozedur eine Steuerelement-Farbe-Meldung nicht verarbeitet, verwendet das System einen Pinsel mit der Standard-Fensterfarbe zum Zeichnen des Hintergrunds für alle Steuerelemente und Fenster mit Ausnahme der Bildlaufleisten. Eine Anwendung kann die Standardfarbe Fenster abrufen, durch die Übergabe des COLOR_WINDOW-Wertes, der die GetSysColor Funktion. Während der Hintergrund gezeichnet wird, wird die Vordergrundfarbe für den Bildschirm-Gerätekontext auf der Standardtextfarbe (COLOR_WINDOWTEXT) festgelegt. Für Bildlaufleisten verwendet das System einen Pinsel, die Standard Scroll Bar Farbe (COLOR_SCROLLBAR). In diesem Fall werden die Hintergrund- und Vordergrundfarben Farben für die Anzeige-Gerätekontext festgelegt weiß und schwarz, bzw.

Index