IPrintDialogCallback::HandleMessage

[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 Genereltegenskapsarket Skriv ut . Dialogboksen barn inneholder kontroller som ligner innrykkene for dialogboksen Skriv ut.

() HRESULT HandleMessage HWNDhDlg,UINTuMsg,WPARAMwParam,LPARAMlParam,ikke hente LRESULT* pResult);
 

Parametere

hDlg
Håndtere til dialogboksen barn i den nederste delen av siden Generelt.
uMsg
Identifiserer meldingen mottas.
wParam
Angir tilleggsinformasjon om meldingen. Den eksakte betydningen er avhengig av verdien for parameteren uMsg.
lParam
Angir tilleggsinformasjon om meldingen. Den eksakte betydningen er avhengig av verdien for parameteren uMsg.

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.

pResult
Pekeren til en variabel som du bør settes for å angi resultatet skal returneres med dialogboksen for meldingen.

Returverdier

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.

Merknader

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.

Hurtiginformasjon

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.

Se også

Felles biblioteket dialogboksoversikt, IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY

Index