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
Biblioteca de caixas de diálogo comuns
Conceitual
Referência