[Dette er foreløpige dokumentasjonen og endring.]
Funksjonen PrintDlgEx kaller HandleMessage -metoden for å gi programmet en mulighet til å håndtere meldinger som er sendt til dialogboksen barn i den nederste delen av siden Generelt på egenskapsarket Skriv ut . Dialogboksen barn inneholder kontroller som ligner innrykkene for dialogboksen Skriv ut.
() HRESULT HandleMessage HWNDhDlg,UINTuMsg,WPARAMwParam,LPARAMlParam,ikke hente LRESULT* pResult);
Hvis parameteren uMsg angir meldingen som er WM_INITDIALOG , er lParam en peker til en PRINTDLGEX struktur med verdiene som er angitt når egenskapsarket ble opprettet.
Returner S_OK Hvis HandleMessage -implementering håndtert meldingen. I dette tilfellet utfører funksjonen PrintDlgEx ikke noen standard Meldingsbehandling.
Returner S_FALSE Hvis du vil bruke PrintDlgEx til å utføre sin standard Meldingsbehandling.
For varselmeldinger vedtatt av den WM_NOTIFY -melding, må du bruke funksjonen SetWindowLong med DWL_MSGRESULT-verdien til å angi en returverdi. Når du kaller SetWindowLong, kan du bruke GetParent (hDlg) å angi DWL_MSGRESULT-verdien for den generelle siden, som er overordnet til underordnet vindu.
Standard dialogboksen boksen fremgangsmåten for det underordnede vinduet i den nedre delen av siden Generelt behandler meldingen WM_INITDIALOG før den sendes til metoden HandleMessage . For alle andre meldinger som sendes til det underordnede vinduet, mottar HandleMessage meldingen først. HandleMessage returneres verdien bestemmer om standard dialogboksen fremgangsmåten, behandler meldingen eller ignorerer den.
Hvis HandleMessage behandler WM_CTLCOLORDLG meldingen, må den returnere et gyldig pensel håndtak for å male bakgrunnen i dialogboksen. Generelt, hvis HandleMessage behandler alle WM_CTLCOLOR *-melding, må den returnere et gyldig pensel håndtak for å male bakgrunnen for den angitte kontrollen.
Ikke kall funksjonen EndDialog fra HandleMessage -metoden. I stedet, HandleMessage kan kalle funksjonen PostMessage til å legge inn en WM_COMMAND -melding med IDABORT-verdien i dialogboksen boksen prosedyren. Postering av IDABORT lukker egenskapsarket Skriv ut og forårsaker PrintDlgEx å gå tilbake til PD_RESULT_CANCEL i dwResultAction -medlem av PRINTDLGEX -strukturen. Hvis du trenger å vite hvorfor HandleMessage lukket dialogboksen, må du gi din egen mekanisme for kommunikasjon mellom HandleMessage -metoden, og applikasjonen.
Du kan underklasse standardkontroller av dialogen barn boksen i den nederste delen av siden Generelt . Disse standardkontroller ligner de som finnes i dialogboksen Skriv ut . Men kan standard dialogruten boksen prosedyre også underklasse kontrollene. På grunn av dette bør du underklasse kontroller når HandleMessage behandler meldingen WM_INITDIALOG . Dette sikrer at din underklasse prosedyren mottar kontroll-spesifikke meldinger før underklasse prosedyren angitt av dialogboksen boksen prosedyre.
nbsp; Windows &NT: krever versjon 5.0 eller senere.
Windows:Som ikke støttes.
Windows CE:Som ikke støttes.
Topptekst:Deklarert i commdlg.h.
Felles biblioteket dialogboksoversikt, IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY