Função de retorno de chamada LPSETUPHOOKPROC (commdlg.h)

Uma função de retorno de chamada definida pelo aplicativo ou definida pela biblioteca usada com a função PrintDlg . O procedimento de gancho recebe mensagens ou notificações destinadas ao procedimento da caixa de diálogo padrão da caixa de diálogo Configurar Impressão .

O tipo LPSETUPHOOKPROC define um ponteiro para essa função de retorno de chamada. SetupHookProc é um espaço reservado para o nome da função definida pelo aplicativo ou pela biblioteca.

Sintaxe

LPSETUPHOOKPROC Lpsetuphookproc;

UINT_PTR Lpsetuphookproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Parâmetros

unnamedParam1

Um identificador para a caixa de diálogo Configurar Impressão 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 .

Retornar valor

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

A caixa de diálogo Configurar Impressão foi substituída pela caixa de diálogo Configuração de Página , que deve ser usada por novos aplicativos. No entanto, para compatibilidade, a função PrintDlg continua a dar suporte à exibição da caixa de diálogo Configurar Impressão . Você pode fornecer um procedimento de gancho SetupHookProc para a caixa de diálogo Configurar Impressão 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 lpfnSetupHook e especifique o sinalizador PD_ENABLESETUPHOOK 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

Requisito Valor
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

EndDialog

PRINTDLG

PostMessage

Printdlg

Referência

WM_CTLCOLORDLG

WM_INITDIALOG