Pentru a particulariza o casetă de dialog de culoare , utilizați oricare dintre metodele următoare:
Aveți posibilitatea să modificați aspectul și comportamentul din caseta de dialog culoare setând steaguri membru steaguri de structura CHOOSECOLOR . De exemplu, setați pavilion CC_SOLIDCOLOR directă, caseta de dialog pentru a afișa numai solide culori. Cauza caseta de dialog pentru a selecta o culoare diferită de negru inițial, setați pavilion CC_RGBINIT și specificați o culoare de membru rgbResult.
Puteți furniza un șablon particularizat pentru caseta de dialog culoare , de exemplu, dacă doriți să includeți controale suplimentare care sunt unice pentru cererea dumneavoastră. Funcția de ChooseColor utilizează șablonul particularizat în loc de șablonul implicit.
Pentru a oferi un șablon particularizat pentru caseta de dialog culoare- Sau -
Furnizați o procedură de cârlig CCHookProc pentru caseta de dialog culoare . Procedura cârlig poate procesa mesajele trimise la caseta de dialog. Se poate utiliza, de asemenea, mesaje înregistrate pentru a controla comportamentul caseta de dialog. Dacă utilizați un șablon particularizat pentru a defini controale suplimentare, trebuie să furnizați o procedură cârlig în procesul de intrare pentru dumneavoastră controale.
Pentru a permite o procedură cârlig pentru caseta de dialog culoareDupă prelucrare mesajul său WM_INITDIALOG , procedura de caseta de dialog a trimite un mesaj WM_INITDIALOG la regimul cârlig. Parametrul lParam acestui mesaj este un indicator de structura CHOOSECOLOR folosite pentru a initializa caseta de dialog.
Caseta de dialog trimite mesajul COLOROKSTRING înregistrate pentru procedura cârlig atunci când utilizatorul face clic pe butonul OK . Procedura cârlig poate respinge culoarea selectată și forța caseta de dialog să rămână deschise prin returnarea zero, atunci când primește acest mesaj. Procedura cârlig poate vigoare caseta de dialog pentru a selecta o anumită culoare prin trimiterea mesajului SETRGBSTRING înregistrate în caseta de dialog. Pentru a utiliza aceste mesaje înregistrate, trebuie să treacă constantele de COLOROKSTRING și SETRGBSTRING la funcția RegisterWindowMessage pentru a obține un identificator de mesaj. Apoi utilizați identificatorul pentru a detecta și procesul de mesajele trimise din caseta de dialog, sau pentru a trimite mesaje de la caseta de dialog.