Cuadros de diálogo (cuadros de diálogo)

Un cuadro de diálogo es una ventana temporal que crea una aplicación para recuperar la entrada del usuario. Normalmente, una aplicación usa cuadros de diálogo para solicitar al usuario información adicional sobre los elementos de menú. Normalmente, un cuadro de diálogo contiene uno o varios controles (ventanas secundarias) con los que el usuario escribe texto, elige opciones o dirige la acción.

Windows también proporciona cuadros de diálogo predefinidos que admiten elementos de menú comunes, como Abrir e Imprimir. Las aplicaciones que usan estos elementos de menú deben usar los cuadros de diálogo comunes para solicitar esta entrada de usuario, independientemente del tipo de aplicación.

En esta sección

Nombre Descripción
Acerca de los cuadros de diálogo Describe el uso de cuadros de diálogo en la interfaz de usuario de las aplicaciones.
Consideraciones sobre la programación de cuadros de diálogo En esta introducción se describen algunas consideraciones de programación relativas a los cuadros de diálogo.
Usar cuadros de diálogo Los cuadros de diálogo se usan para mostrar información y solicitar la entrada del usuario.
Referencia del cuadro de diálogo Referencia de API
Biblioteca de cuadros de diálogo comunes Describe el uso de los cuadros de diálogo comunes en la interfaz de usuario de las aplicaciones.

Funciones del cuadro de diálogo

Nombre Descripción
CreateDialog Crea un cuadro de diálogo modela a partir de un recurso de plantilla de cuadro de diálogo.
CreateDialogIndirect Crea un cuadro de diálogo modela a partir de una plantilla de cuadro de diálogo en memoria.
CreateDialogIndirectParam Crea un cuadro de diálogo modela a partir de una plantilla de cuadro de diálogo en memoria. Antes de mostrar el cuadro de diálogo, la función pasa un valor definido por la aplicación al procedimiento del cuadro de diálogo como el parámetro lParam del mensaje WM_INITDIALOG . Una aplicación puede usar este valor para inicializar controles de cuadro de diálogo.
CreateDialogParam Crea un cuadro de diálogo modela a partir de un recurso de plantilla de cuadro de diálogo. Antes de mostrar el cuadro de diálogo, la función pasa un valor definido por la aplicación al procedimiento del cuadro de diálogo como el parámetro lParam del mensaje WM_INITDIALOG . Una aplicación puede usar este valor para inicializar controles de cuadro de diálogo.
DefDlgProc Llama al procedimiento de ventana del cuadro de diálogo predeterminado para proporcionar procesamiento predeterminado para los mensajes de ventana que un cuadro de diálogo con una clase de ventana privada no procesa.
Cuadro de diálogo Crea un cuadro de diálogo modal a partir de un recurso de plantilla de cuadro de diálogo. DialogBox no devuelve el control hasta que la función de devolución de llamada especificada finaliza el cuadro de diálogo modal llamando a la función EndDialog .
DialogBoxIndirect Crea un cuadro de diálogo modal a partir de una plantilla de cuadro de diálogo en memoria. DialogBoxIndirect no devuelve el control hasta que la función de devolución de llamada especificada finaliza el cuadro de diálogo modal llamando a la función EndDialog .
DialogBoxIndirectParam Crea un cuadro de diálogo modal a partir de una plantilla de cuadro de diálogo en memoria. Antes de mostrar el cuadro de diálogo, la función pasa un valor definido por la aplicación al procedimiento del cuadro de diálogo como el parámetro lParam del mensaje WM_INITDIALOG . Una aplicación puede usar este valor para inicializar controles de cuadro de diálogo.
DialogBoxParam Crea un cuadro de diálogo modal a partir de un recurso de plantilla de cuadro de diálogo. Antes de mostrar el cuadro de diálogo, la función pasa un valor definido por la aplicación al procedimiento del cuadro de diálogo como el parámetro lParam del mensaje WM_INITDIALOG . Una aplicación puede usar este valor para inicializar controles de cuadro de diálogo.
DialogProc Una función de devolución de llamada definida por la aplicación que se usa con las familias CreateDialog y DialogBox de funciones. Procesa los mensajes enviados a un cuadro de diálogo modal o modeless. El tipo DLGPROC define un puntero a esta función de devolución de llamada. DialogProc es un marcador de posición para el nombre de función definido por la aplicación.
EndDialog Destruye un cuadro de diálogo modal, lo que hace que el sistema finalice cualquier procesamiento para el cuadro de diálogo.
GetDialogBaseUnits Recupera las unidades base del cuadro de diálogo del sistema, que son el ancho medio y alto de caracteres en la fuente del sistema. Para los cuadros de diálogo que usan la fuente del sistema, puede usar estos valores para convertir entre unidades de plantilla de diálogo, como se especifica en plantillas de cuadro de diálogo y píxeles. Para los cuadros de diálogo que no usan la fuente del sistema, la conversión de unidades de plantilla de diálogo a píxeles depende de la fuente utilizada por el cuadro de diálogo.
GetDlgCtrlID Recupera el identificador del control especificado.
GetDlgItem Recupera un identificador de un control en el cuadro de diálogo especificado.
GetDlgItemInt Convierte el texto de un control especificado en un cuadro de diálogo en un valor entero.
GetDlgItemText Recupera el título o el texto asociado a un control en un cuadro de diálogo.
GetNextDlgGroupItem Recupera un identificador al primer control de un grupo de controles que precede (o sigue) al control especificado en un cuadro de diálogo.
GetNextDlgTabItem Recupera un identificador al primer control que tiene el estilo WS_TABSTOP que precede (o sigue) al control especificado.
IsDialogMessage Determina si un mensaje está pensado para el cuadro de diálogo especificado y, si es así, procesa el mensaje.
MapDialogRect Convierte las unidades del cuadro de diálogo especificadas en unidades de pantalla (píxeles). La función reemplaza las coordenadas de la estructura RECT especificada por las coordenadas convertidas, lo que permite usar la estructura para crear un cuadro de diálogo o colocar un control dentro de un cuadro de diálogo.
Cuadro de mensajes Muestra un cuadro de diálogo modal que contiene un icono del sistema, un conjunto de botones y un breve mensaje específico de la aplicación, como información de estado o error. El cuadro de mensaje devuelve un valor entero que indica qué botón ha hecho clic el usuario.
MessageBoxEx Crea, muestra y opera un cuadro de mensaje. El cuadro de mensaje contiene un mensaje y un título definidos por la aplicación, además de cualquier combinación de iconos predefinidos y botones de inserción. Los botones están en el idioma de la interfaz de usuario del sistema.
MessageBoxIndirect Crea, muestra y opera un cuadro de mensaje. El cuadro de mensaje contiene texto y título del mensaje definido por la aplicación, cualquier icono y cualquier combinación de botones de inserción predefinidos.
SendDlgItemMessage Envía un mensaje al control especificado en un cuadro de diálogo.
SetDlgItemInt Establece el texto de un control en un cuadro de diálogo en la representación de cadena de un valor entero especificado.
SetDlgItemText Establece el título o el texto de un control en un cuadro de diálogo.

Mensajes del cuadro de diálogo

Nombre Descripción
DM_GETDEFID Recupera el identificador del control de botón de inserción predeterminado para un cuadro de diálogo.
DM_REPOSITION Cambia la posición de un cuadro de diálogo de nivel superior para que se ajuste al área de escritorio. Una aplicación puede enviar este mensaje a un cuadro de diálogo después de cambiar su tamaño para asegurarse de que todo el cuadro de diálogo permanece visible.
DM_SETDEFID Cambia el identificador del botón de inserción predeterminado para un cuadro de diálogo.

Notificaciones del cuadro de diálogo

Nombre Descripción
WM_CTLCOLORDLG Se envía a un cuadro de diálogo antes de que el sistema dibuje el cuadro de diálogo. Al responder a este mensaje, el cuadro de diálogo puede establecer sus colores de texto y de fondo mediante el identificador de contexto del dispositivo de visualización especificado.
WM_ENTERIDLE Se envía a la ventana de propietario de un cuadro de diálogo modal o un menú que está escribiendo un estado inactivo. Un cuadro de diálogo modal o menú entra en un estado inactivo cuando no hay ningún mensaje esperando en la cola después de haber procesado uno o varios mensajes anteriores.
WM_GETDLGCODE Se envía al procedimiento de ventana asociado a un control . De forma predeterminada, el sistema controla todas las entradas de teclado al control; el sistema interpreta determinados tipos de entrada de teclado como teclas de navegación del cuadro de diálogo. Para invalidar este comportamiento predeterminado, el control puede responder al mensaje WM_GETDLGCODE para indicar los tipos de entrada que desea procesar.
WM_INITDIALOG Se envía al procedimiento del cuadro de diálogo inmediatamente antes de que se muestre un cuadro de diálogo. Los procedimientos de cuadro de diálogo suelen usar este mensaje para inicializar controles y llevar a cabo cualquier otra tarea de inicialización que afecte a la apariencia del cuadro de diálogo.
WM_NEXTDLGCTL Se envía a un procedimiento de cuadro de diálogo para establecer el foco del teclado en un control diferente en el cuadro de diálogo.

Estructuras del cuadro de diálogo

Nombre Descripción
DLGITEMTEMPLATE Define las dimensiones y el estilo de un control en un cuadro de diálogo. Una o varias de estas estructuras se combinan con una estructura DLGTEMPLATE para formar una plantilla estándar para un cuadro de diálogo.
DLGITEMTEMPLATEEX Describe un cuadro de diálogo extendido. Para obtener una descripción del formato de una plantilla de cuadro de diálogo extendido, vea DLGTEMPLATEEX.
DLGTEMPLATE Define las dimensiones y el estilo de un cuadro de diálogo. Esta estructura, siempre la primera de una plantilla estándar para un cuadro de diálogo, también especifica el número de controles del cuadro de diálogo y, por tanto, especifica el número de estructuras DLGITEMTEMPLATE posteriores de la plantilla.
DLGTEMPLATEEX Una plantilla de cuadro de diálogo extendida comienza con un encabezado DLGTEMPLATEEX que describe el cuadro de diálogo y especifica el número de controles del cuadro de diálogo. Para cada control de un cuadro de diálogo, una plantilla de cuadro de diálogo extendido tiene un bloque de datos que usa el formato DLGITEMTEMPLATEEX para describir el control.
MSGBOXPARAMS Contiene información utilizada para mostrar un cuadro de mensaje. La función MessageBoxIndirect usa esta estructura.