Colore del controllo messaggi

Controlli e il sistema potrà inviare messaggi di controllo colore quando vogliono la procedura di finestra di dialogo per disegnare lo sfondo di un controllo o altra finestra utilizzando un pennello specifico e colori. Questo può essere utile quando le applicazioni esegue l'override di colori di default usati nelle finestre di dialogo e i loro comandi. Di seguito sono riportati i messaggi di controllo colore, che hanno sostituito il messaggio WM_CTLCOLOR.

WM_CTLCOLORBTN
WM_CTLCOLORDLG
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORMSGBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC

Un controllo Invia un messaggio di controllo colore alla procedura di casella di dialogo appena prima che dipinge il proprio sfondo. Il messaggio consente la procedura specificare quale spazzola per utilizzare e per impostare i colori di sfondo e di primo piano. La procedura specifica un pennello restituendo l'handle del pennello. Per impostare i colori di sfondo e di primo piano, la procedura utilizza il SetBkColor e SetTextColor funzioni con del controllo visualizzare il contesto di periferica. Il messaggio di controllo colore passa un handle del contesto di periferica di visualizzazione alla procedura nel parametro wParam del messaggio.

Il sistema invia un messaggio a WM_CTLCOLORDLG alla procedura di dialogo casella se la procedura non elabora il messaggio WM_ERASEBKGND . La classe box di dialogo predefinite non ha un pennello di sfondo di classe, quindi questo messaggio consente la procedura di definire il proprio sfondo senza dover incluso il codice per eseguire i lavori.

In ogni caso, quando una routine di finestra di dialogo non elabora un messaggio di controllo colore, il sistema utilizza un pennello con il colore della finestra predefinito di disegnare lo sfondo per tutti i controlli e le finestre tranne le barre di scorrimento. Un'applicazione può recuperare il colore della finestra predefinito passando il valore COLOR_WINDOW per la funzione GetSysColor . Mentre è dipinto sullo sfondo, il colore di primo piano per il contesto di periferica di visualizzazione è impostato sul colore del testo predefinito (COLOR_WINDOWTEXT). Per le barre di scorrimento, il sistema utilizza un pennello con il colore di barre di scorrimento predefinito (COLOR_SCROLLBAR). In questo caso, i colori di sfondo e di primo piano per il contesto di periferica di visualizzazione sono impostati bianco e nero, rispettivamente.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index