Compartilhar via


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

Recebe mensagens ou notificações destinadas ao procedimento da caixa de diálogo padrão da caixa de diálogo Localizar ou Substituir . O procedimento de gancho FRHookProc é uma função de retorno de chamada definida pelo aplicativo ou definida pela biblioteca que é usada com a função FindText ou ReplaceText .

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

Sintaxe

LPFRHOOKPROC Lpfrhookproc;

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

Parâmetros

unnamedParam1

Um identificador para a caixa de diálogo Localizar ou Substituir 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 FINDREPLACE que contém os valores especificados quando a caixa de diálogo foi criada.

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

Ao usar as funções FindText ou ReplaceText para criar uma caixa de diálogo Localizar ou Substituir , você pode fornecer um procedimento de gancho FRHookProc para processar mensagens ou notificações destinadas ao procedimento da caixa de diálogo. Para habilitar o procedimento de gancho, use a estrutura FINDREPLACE 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 FR_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. 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 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

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

FINDREPLACE

Findtext

PostMessage

Referência

Replacetext

WM_CTLCOLORDLG

WM_INITDIALOG