Función IsDialogMessageA (winuser.h)

Determina si un mensaje está pensado para el cuadro de diálogo especificado y, si es así, procesa el mensaje.

Sintaxis

BOOL IsDialogMessageA(
  [in] HWND  hDlg,
  [in] LPMSG lpMsg
);

Parámetros

[in] hDlg

Tipo: HWND

Identificador del cuadro de diálogo.

[in] lpMsg

Tipo: LPMSG

Puntero a una estructura MSG que contiene el mensaje que se va a comprobar.

Valor devuelto

Tipo: BOOL

Si se ha procesado el mensaje, el valor devuelto es distinto de cero.

Si el mensaje no se ha procesado, el valor devuelto es cero.

Comentarios

Aunque la función IsDialogMessage está pensada para cuadros de diálogo modeless, puede usarla con cualquier ventana que contenga controles, lo que permite que las ventanas proporcionen la misma selección de teclado que se usa en un cuadro de diálogo.

Cuando IsDialogMessage procesa un mensaje, comprueba si hay mensajes de teclado y los convierte en selecciones para el cuadro de diálogo correspondiente. Por ejemplo, la tecla TAB, cuando se presiona, selecciona el siguiente control o grupo de controles, y la tecla FLECHA ABAJO, cuando se presiona, selecciona el siguiente control de un grupo.

Dado que la función IsDialogMessage realiza toda la traducción y envío de mensajes necesarios, un mensaje procesado por IsDialogMessage no debe pasarse a la función TranslateMessage o DispatchMessage .

IsDialogMessage envía mensajes WM_GETDLGCODE al procedimiento del cuadro de diálogo para determinar qué claves se deben procesar.

IsDialogMessage puede enviar mensajes DM_GETDEFID y DM_SETDEFID a la ventana. Estos mensajes se definen en el archivo de encabezado Winuser.h como WM_USER y WM_USER + 1, por lo que los conflictos son posibles con mensajes definidos por la aplicación que tienen los mismos valores.

Nota

El encabezado winuser.h define IsDialogMessage como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

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 winuser.h (incluir Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-dialogbox-l1-1-3 (introducido en Windows 10, versión 10.0.14393)

Consulte también

Conceptual

DM_GETDEFID

DM_SETDEFID

Cuadros de diálogo

DispatchMessage

MSG

Referencia

TranslateMessage

WM_GETDLGCODE

WM_USER