Compartir a través de


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: de LPMSG de

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

Valor devuelto

Tipo: BOOL de

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.

Observaciones

Aunque la función IsDialogMessage está pensada para los 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 de realiza todas las operaciones necesarias de traducción y distribución de mensajes, un mensaje procesado por IsDialogMessage no debe pasarse a la función de TranslateMessage ni 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winuser.h (incluya Windows.h)
biblioteca de User32.lib
DLL de User32.dll
conjunto de API de ext-ms-win-ntuser-dialogbox-l1-1-3 (introducido en Windows 10, versión 10.0.14393)

Consulte también

conceptual de

DM_GETDEFID

DM_SETDEFID

cuadros de diálogo

DispatchMessage

msg

de referencia de

TranslateMessage

WM_GETDLGCODE

WM_USER