CFHookProc procedura haka jest procedura zwrotne definiowane przez aplikację lub biblioteki, która jest używana z funkcją ChooseFont . Procedura haka odbiera wiadomości lub zgłoszeń przeznaczonych do procedury pole dialogowe domyślne wspólne okno dialogowe Czcionka.
Typ LPCFHOOKPROC określa wskaźnik do funkcji wywołania zwrotnego. CFHookProc jest symbolem zastępczym nazwy funkcji zdefiniowanych przez aplikację.
(UINT wywołania zwrotnego CFHookProc HWND hdlg, / / dojście do okna dialogowego poleUINTuiMsg, / / wiadomości identyfikatorWPARAMwParam, / / wiadomości parametrFIKCYJNYMIfikcyjnymi / / wiadomości parametr);
Jeżeli parametr uiMsg określa komunikat WM_INITDIALOG , fikcyjnymi jest wskaźnik do struktury CHOOSEFONT zawierających wartości określone podczas tworzenia wspólne okno dialogowe.
Jeśli procedura haka zwraca zero, procedury pole dialogowe domyślne przetwarza wiadomość.
Jeśli procedura haka zwraca wartość różną od zera, procedury pole dialogowe domyślne ignoruje wiadomości.
Gdy funkcja ChooseFont umożliwia tworzenie okno dialogowe Czcionka , można zapewnić procedura haka CFHookProc do przetwarzania wiadomości lub zgłoszeń przeznaczonych do procedury pole dialogowe. Aby włączyć procedura haka, użyj struktury CHOOSEFONT , który zostanie przekazany do funkcji Tworzenie okna dialogowego. Określ adres procedura haka członka lpfnHook i określić flagi CF_ENABLEHOOK Członkowskich flagi.
Procedury pole dialogowe domyślne przetwarza wiadomość WM_INITDIALOG przed przekazaniem go do procedura haka. Dla wszystkich innych wiadomości procedura haka odbierze komunikat po raz pierwszy. Następnie wartość zwracany procedura haka określa, czy procedury okna dialogowego domyślnie przetwarza wiadomość zignoruje ją.
Jeśli procedura haka przetwarza wiadomość WM_CTLCOLORDLG , musi ona zwracać do malowania tła okna dialogowego uchwytu ważne pędzla. Ogólnie jeśli procedura haka przetwarza wiadomości WM_CTLCOLOR *, to musi zwracać obsługę pędzla prawidłowy obraz tła określonych kontroli.
Nie wywołuj funkcję EndDialog z procedura haka. Zamiast tego procedura haka może wywołać funkcję PostMessage , aby ogłosić wiadomość WM_COMMAND z wartością IDABORT procedurze pole dialogowe. Księgowanie IDABORT zamyka okno dialogowe i powoduje, że funkcja pole dialogowe zwraca FALSE. Jeśli użytkownik chce wiedzieć, dlaczego procedura haka zamknięte okno dialogowe, należy podać swój własny mechanizm komunikacji między procedura haka i aplikacji.
Możesz podklas formantów standardowych wspólne okno dialogowe. Jednakże wspólnej procedurze pole dialogowe może również podklas formantów. Z tego powodu należy podklas formantów podczas procedura haka przetwarza wiadomość WM_INITDIALOG. Gwarantuje to, że procedura podklasy odbiera wiadomości specyficzne dla kontroli przed procedury podklasy ustala procedury pole dialogowe.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Nieobsługiwane.
Nagłówka:Zadeklarowane w commdlg.h.
Importowanie biblioteki:Zdefiniowane przez użytkownika.
Wspólny omówienie biblioteki okna dialogowego, wspólne funkcje pole dialogowe, ChooseFont, CHOOSEFONT, EndDialog, PostMessage, WM_INITDIALOG, WM_CTLCOLORDLG