Die WM_CTLCOLORDLG-Nachricht wird zu einem Dialogfeld gesendet, bevor das System das Dialogfeld zieht. Indem Sie auf diese Meldung reagieren, kann im Dialogfeld seiner Text- und Hintergrundfarben festlegen mithilfe des angegebenen Anzeige Handles für einen Gerätekontext.
WM_CTLCOLORDLG HdcDlg = wParam (HDC); / / handle des Dialogfeld im Feld Anzeige Kontext HwndDlg = (HWND) lParam; / / handle des Dialogfelds
Wenn eine Anwendung diese Nachricht verarbeitet, muss das Handle eines Pinsels zurückgeben. Das System verwendet den Pinsel zum Zeichnen des Hintergrunds des Dialogfelds.
Die DefWindowProc -Funktion wählt die Standardsystemfarben für das Dialogfeld.
Das System wird nicht automatisch den zurückgegebenen Pinsel zerstört. Es obliegt der Anwendung auf den Pinsel zu zerstören, wenn es nicht mehr benötigt wird.
Die WM_CTLCOLORDLG-Nachricht wird nie zwischen Threads gesendet. Es wird nur innerhalb eines Threads gesendet.
Beachten Sie, dass die WM_CTLCOLORDLG-Nachricht, um das Dialogfeld selbst gesendet wird; alle anderen WM_CTLCOLOR * Nachrichten werden an den Besitzer des Steuerelements gesendet.
Wenn eine Dialogfeld im Feld Prozedur diese Nachricht verarbeitet, sollte den gewünschten Rückgabewert in einen booleschen Wert umgewandelt und der Wert direkt zurückgegeben. Wenn die Dialogfeld im Feld Prozedur FALSE zurückgibt, wird Standard-Nachrichtenverarbeitung ausgeführt. Der DWL_MSGRESULT Wert festlegen, indem die SetWindowLong Funktion wird ignoriert.
&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.
Übersicht über Dialogfelder, Dialogfeldmeldungen, DefWindowProc, RealizePalette, SelectPalette, WM_CTLCOLORBTN, WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, WM_CTLCOLORMSGBOX, WM_CTLCOLORSCROLLBAR, WM_CTLCOLORSTATIC