IPrintDialogCallback::HandleMessage

[Esta é a documentação preliminar e estão sujeitos a alterações.]

A função PrintDlgEx chama o método HandleMessage para dar uma oportunidade para lidar com mensagens enviadas para a caixa de diálogo de filho na parte inferior da página Geral da folha de propriedades de impressão de seu aplicativo. Caixa de diálogo filho contém controles semelhantes da caixa de diálogo Imprimir.

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

Parâmetros

hDlg
Identificador para a caixa de diálogo filho na parte inferior da página Geral.
uMsg
Identifica a mensagem sendo recebida.
wParam
Especifica informações adicionais sobre a mensagem. O significado exato depende do valor de uMsg parâmetro.
lParam
Especifica informações adicionais sobre a mensagem. O significado exato depende do valor de uMsg parâmetro.

Se o uMsg parâmetro indica o WM_INITDIALOG mensagem, lParam é um ponteiro para uma estrutura PRINTDLGEX contendo que os valores especificados quando a folha foi criada.

pResult
Ponteiro para uma variável que deve ser definido para indicar o resultado a ser retornado pela caixa de diálogo da mensagem.

Retornar valores

Retorne S_OK se sua implementação de HandleMessage tratada a mensagem. Neste caso, a função PrintDlgEx não executa qualquer manipulação de mensagens padrão.

Retornar S_FALSE se desejar PrintDlgEx para executar a manipulação de mensagens padrão.

Observações

Para notificação mensagens passadas WM_NOTIFY mensagem, você deve usar o SetWindowLong função com o valor DWL_MSGRESULT para definir um valor de retorno. Quando você chamar SetWindowLong, use GetParent (hDlg) para definir o valor DWL_MSGRESULT da página Geral , que é o pai do janela filho.

O procedimento de caixa de diálogo padrão para a janela de filho na parte inferior da página Geral processa a mensagem WM_INITDIALOG antes de passá-lo para o método HandleMessage . Para todas as outras mensagens enviadas para o janela filho, HandleMessage recebe a mensagem primeiro. Em seguida, o HandleMessage retornar valor determina se o procedimento caixa de diálogo usar como padrão processa a mensagem ou ignora-lo.

Se HandleMessage processa a WM_CTLCOLORDLG mensagem, ela deve retornar um válido identificador pincel de pintura de segundo plano da caixa de diálogo. Em geral, se HandleMessage processa qualquer WM_CTLCOLOR message, ela deve retornar um válido identificador pincel de pintura de segundo plano do controle especificado.

Não chame o EndDialog função do método HandleMessage . Em vez disso, HandleMessage pode chamar o PostMessage função para postar uma mensagem WM_COMMAND com o valor IDABORT para o procedimento caixa de diálogo. Lançamento IDABORT Fecha a folha de propriedades de impressão e causa PrintDlgEx retornar PD_RESULT_CANCEL in a dwResultAction membro da estrutura PRINTDLGEX . Se você precisa saber por que HandleMessage fechada a caixa de diálogo, você deve fornecer seu próprio mecanismo de comunicação entre o método de HandleMessage e sua aplicação.

Você pode subclasse controla o padrão da caixa de diálogo filho caixa na parte inferior da página Geral . Esses controles padrão são semelhantes aos encontrados na caixa de diálogo Imprimir . No entanto, o procedimento de caixa de diálogo padrão pode também subclasse controles. Por causa disto, você deverá controles subclasse quando HandleMessage processa a mensagem WM_INITDIALOG . Isso garante que o procedimento subclasse recebe mensagens de controle-específica antes do procedimento subclasse definido pelo procedimento caixa de diálogo.

QuickInfo

nbsp; Windows &NT: requer versão 5.0 ou posterior.
Windows:Sem suporte.
Windows CE:Sem suporte.
Cabeçalho:Declarado em commdlg.h.

Ver também

Visão geral de biblioteca de caixa de diálogo comum, IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY

Index