Control-culoare mesaje

Controale și sistemul poate trimite mesaje de control-culoare atunci când doresc procedura caseta de dialog pentru a picta fundalul unui control sau altă fereastră utilizând o pensulă specifice și culori. Aceasta poate fi utilă atunci când cererile suprascrie culorile implicite utilizate în casetele de dialog și controalele. Următoarele sunt mesaje culoare de control, care înlocuiesc mesaj WM_CTLCOLOR.

WM_CTLCOLORBTN
WM_CTLCOLORDLG
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORMSGBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC

Un control trimite un mesaj de control-culoare la procedura de caseta de dialog chiar înainte ea vopsele proprie fundal. Mesajul permite procedura pentru a specifica care pensulă pentru a utiliza și pentru a seta culorile de fundal și de prim plan. Procedura specifică o pensulă prin returnarea ghidajul de pensulă. Pentru a seta culorile de fundal și de prim-plan, se utilizează procedura SetBkColor și SetTextColor funcții cu control Afișare context de dispozitiv. Mesajul control-culoare trece un ghidaj de context de dispozitiv de afișare la procedura în mesajului wParam parametru.

Sistemul trimite un mesaj WM_CTLCOLORDLG la procedura de caseta de dialog dacă procedura nu procesează mesajul WM_ERASEBKGND . Clasa de caseta de dialog predefinite nu are o perie clasa de fundal, astfel încât acest mesaj vă permite să procedura defini propriile sale fundal fără să includă codul pentru a efectua activitatea.

În orice caz, atunci când o procedură de caseta de dialog nu a procesat un mesaj de control-culoare, sistemul utilizează o pensulă cu culoarea implicită fereastra pentru a picta fundal pentru toate controalele și ferestrele cu excepția barele de defilare. O cerere poate prelua culoarea implicită fereastra prin care trece valoarea COLOR_WINDOW GetSysColor funcție. În timp ce fundalul este pictat, culoarea planului frontal pentru contextul dispozitiv de afișare este setat la culoarea implicită de text (COLOR_WINDOWTEXT). Pentru bare de defilare, sistemul utilizează o pensulă având culoarea de bara de defilare implicită (COLOR_SCROLLBAR). În acest caz, culorile din prim-plan și de fundal pentru contextul dispozitiv de afișare sunt setate la alb și negru, respectiv.

Index