Dostosowywanie okna dialogowego kolorów

Aby dostosować okno dialogowe kolorów , można użyć jednej z następujących metod:

Ustawienie flagi członka flag struktury CHOOSECOLOR można zmodyfikować wygląd i zachowanie okna dialogowego kolorów . Na przykład można ustawić flagę CC_SOLIDCOLOR aby oknie dialogowym, aby wyświetlić tylko kolory kryjące. Aby wywołać okno dialogowe początkowo wybierz kolor niż czarny, należy ustawić flagę CC_RGBINIT i określ kolor członka rgbResult.

Można podać niestandardowy szablon w oknie dialogowym kolor na przykład, jeśli chcesz dołączyć dodatkowe kontrole, które są unikatowe dla aplikacji. Funkcja ChooseColor używa szablonu niestandardowego zamiast domyślnego szablonu.

    Aby zapewnić niestandardowy szablon w oknie dialogowym Kolor
  1. Utworzyć niestandardowy szablon modyfikując domyślny szablon określony w KOLORZE.DLG pliku. Identyfikatory kontroli, stosowanych w szablon domyślny kolor okna dialogowego są zdefiniowane w COLORDLG.H pliku.
  2. Użyj struktury CHOOSECOLOR aby włączyć szablon w następujący sposób:

CCHookProc procedura haka może przewidywać okno dialogowe kolorów . Procedura haka może przetwarzać wiadomości wysłane do okna dialogowego. Można również użyć wiadomości zarejestrowanych w celu sterowania zachowaniem okna dialogowego. Jeśli niestandardowy szablon jest używane do definiowania dodatkowej kontroli, należy zapewnić procedura haka przetwarzania danych wejściowych dla formanty.

    Aby włączyć procedurę haka okno dialogowe kolorów
  1. Ustawić flagę CC_ENABLEHOOK Członkowskich flag struktury CHOOSECOLOR.
  2. Określ adres procedura haka członka lpfnHook.

Po przetworzeniu komunikatu WM_INITDIALOG , procedury pole dialogowe wysyła wiadomość WM_INITDIALOG procedura haka. Parametr fikcyjnymi tej wiadomości jest wskaźnik do struktury CHOOSECOLOR , używane do inicjowania okno dialogowe.

Okno dialogowe wysyła do procedura haka wiadomość zarejestrowanych COLOROKSTRING , gdy użytkownik kliknie przycisk OK . Procedura haka może odrzucić wybrany kolor i życie okna dialogowego mogą pozostawać otwarte przez zwrócenie zera, gdy otrzyma ten komunikat. Procedura haka może wymusić okna dialogowego wybierz określonego koloru przez wysłanie wiadomości zarejestrowanych SETRGBSTRING do okna dialogowego. Aby użyć tych wiadomości zarejestrowanych, stałe COLOROKSTRING i SETRGBSTRING musi być poddana funkcji RegisterWindowMessage , aby uzyskać identyfikator wiadomości. Następnie można użyć identyfikatora do wykrycia i przetwarzać wiadomości wysyłane z okna dialogowego lub wysyłać wiadomości do okna dialogowego.