[To wstępne dokumentacji oraz z zastrzeżeniem zmiany.]
Funkcja PrintDlgEx wywołuje metodę HandleMessage dać aplikacji możliwość obsługi wiadomości wysłane aby oknie dialogowym dziecka w dolnej części strony Ogólne arkusza właściwości drukowania . Okno dialogowe dziecko zawiera formanty podobne do okna dialogowego Drukuj.
(HRESULT HandleMessage HWNDhDlg,UINTuMsg,WPARAMwParam,FIKCYJNYMIfikcyjnymi,LRESULT* pResult);
Jeżeli parametr uMsg określa komunikat WM_INITDIALOG , fikcyjnymi jest wskaźnik do struktury PRINTDLGEX zawierających wartości określone podczas tworzenia arkusza właściwości.
Zwraca wartość S_OK, jeśli implementacji HandleMessage obsługi wiadomości. W tym przypadku funkcja PrintDlgEx nie wykonuje żadnych domyślna obsługa wiadomości.
Zwracają S_FALSE, jeśli chcesz, aby PrintDlgEx do wykonywania jej domyślna obsługa wiadomości.
Dla wiadomości przekazywane WM_NOTIFY komunikat, należy użyć SetWindowLong funkcji z wartością DWL_MSGRESULT ustawić wartość zwracany. Podczas wywoływania SetWindowLongza pomocą GetParent (hDlg) ustawić wartość DWL_MSGRESULT stronie Ogólne , który jest elementem nadrzędnym okno podrzędne.
Procedura Domyślnie okno dialogowe pole okno podrzędne w dolnej części strony Ogólne przetwarza wiadomość WM_INITDIALOG przed przekazaniem go do metody HandleMessage . Dla wszystkich innych wiadomości, wysłane do okna podrzędnego HandleMessage odbiera wiadomości po raz pierwszy. Następnie HandleMessage zwraca wartość określa, czy procedury okna dialogowego domyślnie przetwarza wiadomość zignoruje ją.
Jeśli HandleMessage przetwarza wiadomość WM_CTLCOLORDLG , musi ona zwracać do malowania tła okna dialogowego uchwytu ważne pędzla. Ogólnie Jeśli HandleMessage 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 metody HandleMessage . Zamiast tego HandleMessage można wywołać funkcję PostMessage , aby ogłosić wiadomość WM_COMMAND z wartością IDABORT procedurze pole dialogowe. Księgowanie IDABORT zamyka arkusz właściwości drukowania i powoduje PrintDlgEx zwraca PD_RESULT_CANCEL członka dwResultAction struktury PRINTDLGEX . Jeśli użytkownik chce wiedzieć, dlaczego HandleMessage zamknąć okno dialogowe, należy podać swój własny mechanizm komunikacji między metodą HandleMessage i aplikacji.
Możesz podklasy standardowych formantów okna dialogowego dziecko pole w dolnej części strony Ogólne . Te formanty standardowe są podobne do tych ustalonych w oknie dialogowym Drukuj . Jednakże procedury pole dialogowe domyślne może również podklas formantów. Z tego powodu należy podklas formantów podczas HandleMessage 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: wymaga wersji 5.0 lub nowszej.
Systemu Windows:Nieobsługiwane.
Systemu Windows CE:Nieobsługiwane.
Nagłówka:Zadeklarowane w commdlg.h.
Wspólny omówienie biblioteki okna dialogowego, IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY