Kontroll-farge meldinger

Kontroller og systemet kan sende kontroll-farge meldinger når de vil at dialogboksen boksen prosedyren til å male bakgrunnen i en kontroll eller et annet vindu ved hjelp av en bestemt pensel og farger. Dette kan være nyttig når programmer overstyre standardfargene som brukes i dialogboksene og sine kontroller. Følgende er kontroll-farge meldinger, som har erstattet WM_CTLCOLOR meldingen.

WM_CTLCOLORBTN
WM_CTLCOLORDLG
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORMSGBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC

En kontroll sender en kontroll-farge-melding i dialogboksen boksen prosedyren like før det maling en egen bakgrunn. Meldingen kan prosedyren for å angi som pensel til å bruke og angi fargene bakgrunnen og forgrunnen. Prosedyren angir en pensel ved å returnere håndtaket pensel. Fremgangsmåten bruker til å angi fargene bakgrunnen og forgrunnen, den SetBkColor og SetTextColor -funksjoner med kontrollen viser enheten sammenheng. Kontroll-farge-melding passerer et håndtak på Vis enheten sammenheng til prosedyren i meldingens wParam -parameteren.

Systemet sender en WM_CTLCOLORDLG melding i dialogboksen boksen prosedyren hvis fremgangsmåten, ikke behandler WM_ERASEBKGND meldingen. Forhåndsdefinerte dialogboksen boksen klassen har ikke en klasse bakgrunnen pensel, så denne meldingen lar prosedyren definerer sin egen bakgrunnen uten å måtte ta med koden til å utføre arbeidet.

I alle fall når en dialog boks prosedyre ikke behandler en melding på kontroll-farge, bruker systemet en pensel med standard vindu fargen til å male bakgrunnen for alle kontroller og Vinduer bortsett fra rullefeltene. Et program kan hente standard vindu fargen ved å sende COLOR_WINDOW-verdien til den GetSysColor -funksjonen. Mens bakgrunnen er malt, er forgrunnsfargen for skjerm enheten sammenheng satt til standard tekstfarge (COLOR_WINDOWTEXT). For rullefelt bruker systemet en pensel har standard Rull Stolpefarge (COLOR_SCROLLBAR). I dette tilfellet, bakgrunns- og forgrunnssider fargene for visning enheten sammenheng er satt til svart og hvit henholdsvis.

Index