Il messaggio WM_CTLCOLORDLG viene inviato a una finestra di dialogo prima il sistema richiama la finestra di dialogo. Rispondendo a questo messaggio nella finestra di dialogo possibile impostare i colori di sfondo e del testo utilizzando l'handle di contesto di periferica di visualizzazione determinato.
WM_CTLCOLORDLG hdcDlg = wParam (HDC); / / handle di finestra di dialogo casella Visualizzazione contesto hwndDlg = (HWND) lParam; / / handle di finestra di dialogo
Se un'applicazione elabora questo messaggio, deve restituire il manico di un pennello. Il sistema utilizza il pennello per disegnare lo sfondo della finestra di dialogo.
La funzione DefWindowProc consente di selezionare i colori di sistema predefinito per la finestra di dialogo.
Il sistema automaticamente non distruggere il pennello restituito. È responsabilità dell'applicazione di distruggere il pennello quando non è più necessario.
Il messaggio WM_CTLCOLORDLG non viene mai inviato tra thread. Esso viene inviato solo all'interno di un thread.
Si noti che il messaggio WM_CTLCOLORDLG viene inviato alla finestra di dialogo stesso; tutti gli altri WM_CTLCOLOR * messaggi sono inviati al proprietario del controllo.
Se una routine di finestra di dialogo gestisce questo messaggio, dovrebbe il valore desiderato ritorno a un BOOL il cast e restituire il valore direttamente. Se la procedura di casella di dialogo restituisce FALSE, viene eseguita la gestione dei messaggi predefiniti. Il valore DWL_MSGRESULT impostato dalla funzione SetWindowLong viene ignorato.
nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarata in winuser.
Panoramica di finestre di dialogo, finestra di dialogo casella messaggi, DefWindowProc, RealizePalette, SelectPalette, WM_CTLCOLORBTN, WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, WM_CTLCOLORMSGBOX, WM_CTLCOLORSCROLLBAR, WM_CTLCOLORSTATIC
Rimedio: Inserire il CD-ROM CD di MSDN Library.