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

Recebe mensagens ou notificações destinadas ao procedimento da caixa de diálogo padrão da caixa de diálogo Fonte . Este é um procedimento de retorno de chamada definido pelo aplicativo ou definido pela biblioteca que é usado com a função ChooseFont .

O tipo LPCFHOOKPROC define um ponteiro para essa função de retorno de chamada. CFHookProc é um espaço reservado para o nome da função definida pelo aplicativo.

Sintaxe

LPCFHOOKPROC Lpcfhookproc;

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

Parâmetros

unnamedParam1

Um identificador para a caixa de diálogo Fonte 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 CHOOSEFONT 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 ChooseFont para criar uma caixa de diálogo Fonte , você pode fornecer um procedimento de gancho CFHookProc para processar mensagens ou notificações destinadas ao procedimento da caixa de diálogo. Para habilitar o procedimento de gancho, use a estrutura CHOOSEFONT 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 lpfnHook e especifique o sinalizador CF_ENABLEHOOK 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. O valor retornado do procedimento de gancho determina se o procedimento da caixa de diálogo padrão processa a mensagem ou a ignora.

Se o procedimento de gancho processar a mensagem WM_CTLCOLORDLG , ele deverá retornar uma alça de pincel válida 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 uma alça de pincel válida 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

CHOOSEFONT

Choosefont

Biblioteca de caixas de diálogo comuns

Conceitual

EndDialog

PostMessage

Referência

WM_CTLCOLORDLG

WM_INITDIALOG