Função de retorno de chamada LPPRINTHOOKPROC (commdlg.h)
Recebe mensagens ou notificações destinadas ao procedimento da caixa de diálogo padrão da caixa de diálogo Imprimir . Essa é uma função de retorno de chamada definida pelo aplicativo ou definida pela biblioteca que é usada com a função PrintDlg .
O tipo LPPRINTHOOKPROC define um ponteiro para essa função de retorno de chamada. PrintHookProc é um espaço reservado para o nome da função definida pelo aplicativo ou pela biblioteca.
Sintaxe
LPPRINTHOOKPROC Lpprinthookproc;
UINT_PTR Lpprinthookproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
Parâmetros
unnamedParam1
Um identificador para a caixa de diálogo Imprimir para a qual a mensagem se destina.
unnamedParam2
O identificador da mensagem que está sendo recebida.
unnamedParam3
Informações adicionais sobre a mensagem. O significado exato depende do valor do parâmetro unnamedParam2 .
unnamedParam4
Informações adicionais sobre a mensagem. O significado exato depende do valor do parâmetro unnamedParam2 .
Se o parâmetro unnamedParam2 indicar a mensagem WM_INITDIALOG , unnamedParam4 será um ponteiro para uma estrutura PRINTDLG que contém os valores especificados quando a caixa de diálogo foi criada.
Valor retornado
Se o procedimento de gancho retornar zero, o procedimento da caixa de diálogo padrão processará a mensagem.
Se o procedimento de gancho retornar um valor diferente de zero, o procedimento da caixa de diálogo padrão ignorará a mensagem.
Comentários
Ao usar a função PrintDlg para criar uma caixa de diálogo Imprimir , você pode fornecer um procedimento de gancho PrintHookProc para processar mensagens ou notificações destinadas ao procedimento da caixa de diálogo. Para habilitar o procedimento de gancho, use a estrutura PRINTDLG que você passou para a função de criação da caixa de diálogo. Especifique o endereço do procedimento de gancho no membro lpfnPrintHook e especifique o sinalizador PD_ENABLEPRINTHOOK no membro Flags .
O procedimento da caixa de diálogo padrão processa a mensagem WM_INITDIALOG antes de passá-la para o procedimento de gancho. Para todas as outras mensagens, o procedimento de gancho recebe a mensagem primeiro. Em seguida, o valor retornado do procedimento de gancho determina se o procedimento de diálogo padrão processa a mensagem ou a ignora.
Se o procedimento de gancho processar a mensagem WM_CTLCOLORDLG , ele deverá retornar um identificador de pincel válido para pintar a tela de fundo da caixa de diálogo. Em geral, se o procedimento de gancho processar qualquer mensagem WM_CTLCOLOR* , ele deverá retornar um identificador de pincel válido para pintar a tela de fundo do controle especificado.
Não chame a função EndDialog do procedimento de gancho. Em vez disso, o procedimento de gancho pode chamar a função PostMessage para postar uma mensagem WM_COMMAND com o valor IDABORT no procedimento da caixa de diálogo. Postar IDABORT fecha a caixa de diálogo e faz com que a função da caixa de diálogo retorne FALSE. Se você precisar saber por que o procedimento de gancho fechou a caixa de diálogo, forneça seu próprio mecanismo de comunicação entre o procedimento de gancho e seu aplicativo.
Você pode subclasse os controles padrão de uma caixa de diálogo comum. No entanto, o procedimento da caixa de diálogo também pode subclasse dos controles. Por isso, você deve controlar a subclasse quando o procedimento de gancho processar a mensagem de WM_INITDIALOG . Isso garante que o procedimento de subclasse receba as mensagens específicas do controle antes do procedimento de subclasse definido pelo procedimento da caixa de diálogo.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | commdlg.h (inclua Windows.h) |
Confira também
Biblioteca de caixas de diálogo comuns
Conceitual
Referência