IPrintDialogCallback::HandleMessage

[Questo è documentazione preliminare e soggetto a cambiare].

La funzione PrintDlgEx chiama il metodo HandleMessage per dare applicazione la possibilità di gestire i messaggi inviati al dialogo bambino nella parte inferiore della pagina generale della finestra delle proprietà Print . Nella finestra di dialogo bambino contiene controlli simili a quelle della finestra di dialogo stampa.

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

Parametri

hDlg
Nella finestra di dialogo bambino nella parte inferiore della pagina generale di gestire.
uMsg
Identifica il messaggio viene ricevuto.
wParam
Specifica le informazioni aggiuntive sul messaggio. Il significato esatto dipende dal valore del parametro uMsg.
lParam
Specifica le informazioni aggiuntive sul messaggio. Il significato esatto dipende dal valore del parametro uMsg.

Se il parametro uMsg indica il messaggio WM_INITDIALOG , lParam è un puntatore a una struttura PRINTDLGEX contenente che i valori specificati quando fu creata la finestra delle proprietà.

pResult
Puntatore a una variabile che si deve essere impostato per indicare il risultato per essere restituiti da una finestra di dialogo per il messaggio.

Valori restituiti

Restituiscono S_OK se l'implementazione HandleMessage gestito il messaggio. In questo caso, la funzione PrintDlgEx non esegue alcuna gestione di messaggi predefiniti.

Restituiscono S_FALSE se volete PrintDlgEx per eseguire la sua gestione del messaggio predefinito.

Osservazioni

Per i messaggi di notifica che passati il WM_NOTIFY messaggio, è necessario utilizzare la funzione SetWindowLong con il valore DWL_MSGRESULT per impostare un valore restituito. Quando si chiama SetWindowLong, utilizzare GetParent (hDlg) per impostare il valore DWL_MSGRESULT della pagina generale , che è padre della finestra secondaria.

La procedura di casella di dialogo predefinite per la finestra secondaria nella parte inferiore della pagina generale elabora il messaggio WM_INITDIALOG prima di passarlo al metodo HandleMessage . Per tutti gli altri i messaggi inviati alla finestra del bambino, HandleMessage riceve il messaggio in primo luogo. Poi la HandleMessage ritorno valore determina se la procedura di dialogo predefinita elabora il messaggio o ignora.

Se HandleMessage elabora il messaggio WM_CTLCOLORDLG , deve restituire un handle di pennello validi per lo sfondo della finestra di dialogo. In generale, se HandleMessage elabora qualsiasi messaggio WM_CTLCOLOR *, deve restituire un handle di pennello validi per lo sfondo del controllo specificato.

Non chiamare la funzione EndDialog dal metodo HandleMessage . Invece, HandleMessage possibile chiamare la funzione PostMessage per inviare un messaggio WM_COMMAND con il valore IDABORT per la procedura di casella di dialogo. Distacco IDABORT chiude la finestra delle proprietà Print e causa PrintDlgEx restituire PD_RESULT_CANCEL nel membro dwResultAction della struttura PRINTDLGEX . Se avete bisogno di sapere perché HandleMessage chiuso la finestra di dialogo, è necessario fornire il proprio meccanismo di comunicazione tra il metodo di HandleMessage e l'applicazione.

È possibile sottoclasse i controlli standard della finestra di dialogo bambino casella nella parte inferiore della pagina generale . Questi controlli standard sono simili a quelle che si trovano nella finestra di dialogo stampa . Tuttavia, la procedura di casella di dialogo predefinita può anche sottoclasse dei controlli. A causa di questo, si dovrebbero controlli sottoclasse quando HandleMessage elabora il messaggio WM_INITDIALOG . Questo assicura che la routine di sottoclasse riceve messaggi specifici del controllo prima della procedura di sottoclasse impostata dalla procedura di dialogo casella.

Descrizione

nbsp; Windows &NT: richiede una versione 5.0 o successive.
Windows:Non supportato.
Windows CE:Non supportato.
Intestazione:Dichiarata in commdlg.h.

Vedi anche

Comune di dialogo casella libreria panoramica, IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index