Estructura DLGTEMPLATE (winuser.h)

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.

Sintaxis

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  WORD  cdit;
  short x;
  short y;
  short cx;
  short cy;
} DLGTEMPLATE;

Miembros

style

Tipo: DWORD

Estilo del cuadro de diálogo. Este miembro puede ser una combinación de valores de estilo de ventana (como WS_CAPTION y WS_SYSMENU) y valores de estilo de cuadro de diálogo (como DS_CENTER).

Si el miembro de estilo incluye el estilo de DS_SETFONT , el encabezado de la plantilla del cuadro de diálogo contiene datos adicionales que especifican la fuente que se va a usar para el texto en el área de cliente y los controles del cuadro de diálogo. Los datos de fuente comienzan en el límite de WORD que sigue a la matriz de títulos. Los datos de fuente especifican un valor de tamaño de punto de 16 bits y una cadena de nombre de fuente Unicode. Si es posible, el sistema crea una fuente según los valores especificados. A continuación, el sistema envía un mensaje WM_SETFONT al cuadro de diálogo y a cada control para proporcionar un identificador a la fuente. Si no se especifica DS_SETFONT , la plantilla del cuadro de diálogo no incluye los datos de fuente.

El estilo DS_SHELLFONT no se admite en el encabezado DLGTEMPLATE .

dwExtendedStyle

Tipo: DWORD

Estilos extendidos para una ventana. Este miembro no se usa para crear cuadros de diálogo, pero las aplicaciones que usan plantillas de cuadro de diálogo pueden usarlas para crear otros tipos de ventanas. Para obtener una lista de valores, vea Estilos de ventana extendidos.

cdit

Tipo: WORD

Número de elementos del cuadro de diálogo.

x

Tipo: short

Coordenada x, en unidades del cuadro de diálogo, de la esquina superior izquierda del cuadro de diálogo.

y

Tipo: short

Coordenada y, en unidades del cuadro de diálogo, de la esquina superior izquierda del cuadro de diálogo.

cx

Tipo: short

Ancho, en unidades del cuadro de diálogo, del cuadro de diálogo.

cy

Tipo: short

Alto, en unidades del cuadro de diálogo, del cuadro de diálogo.

Comentarios

En una plantilla estándar para un cuadro de diálogo, la estructura DLGTEMPLATE siempre va seguida de tres matrices de longitud variable que especifican el menú, la clase y el título del cuadro de diálogo. Cuando se especifica el estilo DS_SETFONT, estas matrices también van seguidas de un valor de 16 bits que especifica el tamaño del punto y otra matriz de longitud variable que especifica un nombre de tipo de letra. Cada matriz consta de uno o varios elementos de 16 bits. Las matrices de menús, clases, títulos y fuentes deben alinearse en los límites de WORD .

Inmediatamente después de la estructura DLGTEMPLATE es una matriz de menús que identifica un recurso de menú para el cuadro de diálogo. Si el primer elemento de esta matriz es 0x0000, el cuadro de diálogo no tiene ningún menú y la matriz no tiene otros elementos. Si el primer elemento es 0xFFFF, la matriz tiene un elemento adicional que especifica el valor ordinal de un recurso de menú en un archivo ejecutable. Si el primer elemento tiene cualquier otro valor, el sistema trata la matriz como una cadena Unicode terminada en null que especifica el nombre de un recurso de menú en un archivo ejecutable.

Después de la matriz de menús hay una matriz de clases que identifica la clase de ventana del cuadro de diálogo. Si el primer elemento de la matriz es 0x0000, el sistema usa la clase de cuadro de diálogo predefinida para el cuadro de diálogo y la matriz no tiene ningún otro elemento. Si el primer elemento es 0xFFFF, la matriz tiene un elemento adicional que especifica el valor ordinal de una clase de ventana del sistema predefinida. Si el primer elemento tiene cualquier otro valor, el sistema trata la matriz como una cadena Unicode terminada en null que especifica el nombre de una clase de ventana registrada.

Después de la matriz de clases es una matriz de títulos que especifica una cadena Unicode terminada en null que contiene el título del cuadro de diálogo. Si el primer elemento de esta matriz es 0x0000, el cuadro de diálogo no tiene título y la matriz no tiene ningún otro elemento.

El valor de tamaño de punto de 16 bits y la matriz de letras siguen la matriz de título, pero solo si el miembro de estilo especifica el estilo DS_SETFONT. El valor de tamaño de punto especifica el tamaño de punto de la fuente que se va a usar para el texto del cuadro de diálogo y sus controles. La matriz de tipo de letra es una cadena Unicode terminada en null que especifica el nombre del tipo de letra para la fuente. Cuando se especifican estos valores, el sistema crea una fuente que tiene el tamaño y el tipo de letra especificados (si es posible) y envía un mensaje WM_SETFONT al procedimiento del cuadro de diálogo y los procedimientos de la ventana de control a medida que crea el cuadro de diálogo y los controles.

Después del encabezado DLGTEMPLATE de una plantilla de cuadro de diálogo estándar hay una o varias estructuras DLGITEMTEMPLATE que definen las dimensiones y el estilo de los controles en el cuadro de diálogo. El miembro cdit especifica el número de estructuras DLGITEMTEMPLATE de la plantilla. Estas estructuras DLGITEMTEMPLATE deben alinearse en los límites DWORD .

Si especifica cadenas de caracteres en el menú, la clase, el título o las matrices de letras, debe usar cadenas Unicode.

Los miembros x, y, cx y cy especifican valores en unidades del cuadro de diálogo. Puede convertir estos valores en unidades de pantalla (píxeles) mediante la función MapDialogRect .

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]
Encabezado winuser.h (incluir Windows.h)

Consulte también

Conceptual

CreateDialogIndirect

CreateDialogIndirectParam

DLGITEMTEMPLATE

DLGITEMTEMPLATEEX

DLGTEMPLATEEX

Cuadros de diálogo

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Otros recursos

Referencia