Función de devolución de llamada LPFRHOOKPROC (commdlg.h)

Recibe mensajes o notificaciones destinados al procedimiento de cuadro de diálogo predeterminado del cuadro de diálogo Buscar o Reemplazar . El procedimiento de enlace FRHookProc es una función de devolución de llamada definida por la aplicación o definida por la biblioteca que se usa con la función FindText o ReplaceText .

El tipo LPFRHOOKPROC define un puntero a esta función de devolución de llamada. FRHookProc es un marcador de posición para el nombre de función definido por la aplicación.

Sintaxis

LPFRHOOKPROC Lpfrhookproc;

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

Parámetros

unnamedParam1

Identificador del cuadro de diálogo Buscar o Reemplazar para el que está previsto el mensaje.

unnamedParam2

Identificador del mensaje que se recibe.

unnamedParam3

Información adicional acerca del mensaje. El significado exacto depende del valor del parámetro unnamedParam2 .

unnamedParam4

Información adicional acerca del mensaje. El significado exacto depende del valor del parámetro unnamedParam2 .

Si el parámetro unnamedParam2 indica el mensaje de WM_INITDIALOG , unnamedParam4 es un puntero a una estructura FINDREPLACE que contiene los valores especificados cuando se creó el cuadro de diálogo.

Valor devuelto

Si el procedimiento de enlace devuelve cero, el procedimiento de cuadro de diálogo predeterminado procesa el mensaje.

Si el procedimiento de enlace devuelve un valor distinto de cero, el procedimiento del cuadro de diálogo predeterminado omite el mensaje.

Comentarios

Cuando se usan las funciones FindText o ReplaceText para crear un cuadro de diálogo Buscar o Reemplazar , puede proporcionar un procedimiento de enlace FRHookProc para procesar mensajes o notificaciones destinados al procedimiento de cuadro de diálogo. Para habilitar el procedimiento de enlace, use la estructura FINDREPLACE que pasó a la función de creación de diálogos. Especifique la dirección del procedimiento de enlace en el miembro lpfnHook y especifique la marca FR_ENABLEHOOK en el miembro Flags .

El procedimiento del cuadro de diálogo predeterminado procesa el mensaje de WM_INITDIALOG antes de pasarlo al procedimiento de enlace. Para todos los demás mensajes, el procedimiento de enlace recibe primero el mensaje. A continuación, el valor devuelto del procedimiento de enlace determina si el procedimiento de diálogo predeterminado procesa el mensaje o lo omite.

Si el procedimiento de enlace procesa el mensaje de WM_CTLCOLORDLG , debe devolver un identificador de pincel válido para pintar el fondo del cuadro de diálogo. En general, si el procedimiento de enlace procesa cualquier mensaje WM_CTLCOLOR* , debe devolver un identificador de pincel válido para pintar el fondo del control especificado.

No llame a la función EndDialog desde el procedimiento de enlace. En su lugar, el procedimiento de enlace puede llamar a la función PostMessage para publicar un mensaje WM_COMMAND con el valor IDABORT en el procedimiento del cuadro de diálogo. Publicar IDABORT cierra el cuadro de diálogo y hace que la función del cuadro de diálogo devuelva FALSE. Si necesita saber por qué el procedimiento de enlace cerró el cuadro de diálogo, debe proporcionar su propio mecanismo de comunicación entre el procedimiento de enlace y la aplicación.

Puede subclase los controles estándar de un cuadro de diálogo común. Sin embargo, el procedimiento del cuadro de diálogo también puede subclase los controles. Por este motivo, debe subclase controlar cuando el procedimiento de enlace procesa el mensaje de WM_INITDIALOG . Esto garantiza que el procedimiento de subclase reciba los mensajes específicos del control antes del procedimiento de subclase establecido por el procedimiento del cuadro de diálogo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado commdlg.h (incluye Windows.h)

Consulte también

Biblioteca de cuadros de diálogo comunes

Conceptual

EndDialog

FINDREPLACE

FindText

PostMessage

Referencia

ReplaceText

WM_CTLCOLORDLG

WM_INITDIALOG