Particularizarea caseta de Dialog culoare

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
  1. Creați șablonul particularizat prin modificarea șablonului implicit specificat în culoare.DLG fișier. Identificatori de control utilizate în șablonul implicit al dialog culori sunt definite în COLORDLG.Fișier H.
  2. Utilizarea structura CHOOSECOLOR , pentru a permite șablon după cum urmează:

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 culoare
  1. Setați pavilion CC_ENABLEHOOK membru steaguri de structura CHOOSECOLOR.
  2. Specificați adresa procedura cârlig membru lpfnHook.

După 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.