Procedura SetupHookProc cârlig este o funcție de apel invers definite de aplicarea sau definite de biblioteca folosit cu funcția PrintDlg . Procedura cârlig primește mesaje sau notificările destinate pentru procedura caseta de dialog Configurare tipărire comune casetei de dialog de implicit.
Tip LPSETUPHOOKPROC definește un indicator pentru această funcție de apel invers. SetupHookProc este un substituent pentru numele funcției definită de aplicarea sau definite de biblioteca.
(UINT SetupHookProc de apel INVERS HWND hdlg, / / ocupa în fereastra de caseta de dialogUINTuiMsg, / / mesaj identificatorWPARAMwParam, / / mesaj parametruLPARAMlParam / / mesaj parametru);
Dacă procedura cârlig returnează zero, regimul caseta de dialog implicită procesează mesajul.
Dacă procedura cârlig returnează o valoare nenul, regimul caseta de dialog implicită ignoră mesajul.
Caseta de dialog Configurare tipărire a fost înlocuit de caseta de dialog Inițializare pagină , care să fie utilizate de noi aplicații. Cu toate acestea, pentru compatibilitate, funcția de PrintDlg continuă să sprijine de afișare a casetei de dialog Configurare tipărire . Ave?i posibilitatea să furniza?i o procedură de cârlig SetupHookProc pentru caseta de dialog Configurare tipărire pentru a procesa mesaje sau notificările destinate pentru procedura de caseta de dialog.
Pentru a activa regimul de cârlig, utilizarea PRINTDLG structura care ați trecut la funcția de crearea dialog. Specificați adresa procedura cârlig membru lpfnSetupHook și specificați pavilion PD_ENABLESETUPHOOK membru steaguri.
Regimul caseta de dialog implicită procesează mesajul WM_INITDIALOG înainte de a trece la regimul cârlig. Pentru toate alte mesaje, procedura cârlig primește primul mesaj. Apoi, valoarea returnată de procedura cârlig determină dacă procedura de dialog implicită procesează mesajul sau se ignoră.
Dacă procedura cârlig procesează mesajul WM_CTLCOLORDLG , aceasta trebuie să returneze un mâner de pensulă valabile pentru pictura fundal din caseta de dialog. În general, dacă procedura cârlig procesele orice mesaj WM_CTLCOLOR *, aceasta trebuie să returneze un mâner de pensulă valabile pentru pictura fundal controlului specificat.
Nu apela funcția EndDialog din procedura de cârlig. În schimb, procedura cârlig puteți apela funcția PostMessage pentru a publica un mesaj WM_COMMAND cu valoarea IDABORT la procedura de caseta de dialog. IDABORT de înregistrare se închide caseta de dialog și provoacă funcția de caseta de dialog pentru a întoarce FALSE. Dacă aveți nevoie să știți ce procedura cârlig închis caseta de dialog, trebuie să furnizați propriul mecanism de comunicare între procedura cârlig și aplicația.
Puteți subclasă controalele standard din caseta de dialog comune. Cu toate acestea, procedura comună de caseta de dialog poate, de asemenea, subclasă controalele. Din acest motiv, ar trebui să subclasă controale atunci când procedura dvs. cârlig procesează mesajul WM_INITDIALOG. Acest lucru asigură că vă procedura subclasă primește mesajele de control specifice înainte de procedura subclasă prin procedura de caseta de dialog.
nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Neacceptat.
Antet:A declarat în commdlg.h.
Import Biblioteca:Definite de utilizator.
Comune Dialog Box biblioteca prezentare generală, funcții comune de caseta de Dialog, EndDialog, PrintDlg, PRINTDLG, PostMessage, WM_INITDIALOG, WM_CTLCOLORDLG