SetupHookProc

SetupHookProc hook-prosedyre er en Programdefinert eller bibliotek-definert tilbakeringingsfunksjonen brukes sammen med funksjonen for PrintDlg . Bindingsprosedyren mottar meldinger eller meldinger som er ment for standard dialogboksen boksen prosedyre av den felles dialogboksen Skriveroppsett.

LPSETUPHOOKPROC -typen definerer en peker til denne tilbakeringingsfunksjonen for. SetupHookProc er en plassholder for program- eller bibliotek-definert funksjonsnavnet.

() UINT TILBAKERINGING SetupHookProc HWND  hdlg, / / håndtere til boksen dialogvindaugetUINTuiMsg, / / message identifikatorWPARAMwParam, / / message parameterenLPARAMlParam / / message parameteren);
 

Parametere

hdlg
Håndtere til Skriveroppsett felles boksen dialogvindauget som meldingen er ment.
uiMsg
Identifiserer meldingen mottas.
wParam
Angir tilleggsinformasjon om meldingen. Den eksakte betydningen er avhengig av verdien for parameteren uiMsg.
lParam
Angir tilleggsinformasjon om meldingen. Den eksakte betydningen er avhengig av verdien for parameteren uiMsg.

Returverdier

Hvis Bindingsprosedyren returnerer null, standard dialogboksen boksen fremgangsmåten, behandler meldingen.

Hvis Bindingsprosedyren returnerer en ikke-nullverdi, ignorerer standard dialogboksen boksen prosedyre meldingen.

Merknader

Dialogboksen Skriveroppsett er erstattet med dialogboksen Utskriftsformat , som skal brukes av nye programmer. Imidlertid for kompatibilitet fortsetter funksjonen PrintDlg å støtte visning av dialogboksen Skriveroppsett . Du kan gi en SetupHookProc hook-prosedyre for dialogboksen Skriveroppsett til å behandle meldinger eller meldinger som er ment for dialogboksen boksen prosedyre.

Bruk PRINTDLG -strukturen som du sendes til dialogboksen oppretting av funksjonen for å aktivere hook-prosedyre. Angi adressen til Bindingsprosedyren i lpfnSetupHook -medlem og angi flagget PD_ENABLESETUPHOOK i flaggene -medlem.

Standard dialogboksen boksen prosedyre behandler meldingen WM_INITDIALOG før den sendes til hook-prosedyre. For alle andre meldinger mottar Bindingsprosedyren meldingen først. Deretter, returverdien for Bindingsprosedyren bestemmer om standard dialogboksen fremgangsmåten, behandler meldingen eller ignorerer den.

Hvis Bindingsprosedyren behandler WM_CTLCOLORDLG meldingen, må den returnere et gyldig pensel håndtak for å male bakgrunnen i dialogboksen. Generelt, hvis Bindingsprosedyren behandler meldinger WM_CTLCOLOR *, må den returnere et gyldig pensel håndtak for å male bakgrunnen for den angitte kontrollen.

Ikke kall funksjonen EndDialog fra hook-prosedyre. I stedet, Bindingsprosedyren kan kalle funksjonen PostMessage til å legge inn en WM_COMMAND-melding med IDABORT-verdien i dialogboksen boksen prosedyren. Postering av IDABORT lukker dialogboksen og fører til at dialogboksen boksen funksjonen returnerer USANN. Hvis du trenger å vite hvorfor Bindingsprosedyren lukket dialogboksen, må du gi din egen mekanisme for kommunikasjon mellom Bindingsprosedyren og programmet.

Du kan underklasse standardkontroller av den felles dialogboksen. Men kan den felles dialogboks boksen prosedyren også underklasse kontrollene. På grunn av dette bør du underklasse kontroller når din Bindingsprosedyren behandler meldingen WM_INITDIALOG. Dette sikrer at din underklasse prosedyren mottar kontroll-spesifikke meldinger før underklasse prosedyren angitt av dialogboksen boksen prosedyre.

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Som ikke støttes.
Topptekst:Deklarert i commdlg.h.
Importere biblioteket:Brukerdefinerte.

Se også

Felles biblioteket dialogboksoversikt, felles dialogboksen fungerer, EndDialog, PrintDlg, PRINTDLG, PostMessage, WM_INITDIALOG, WM_CTLCOLORDLG

Index