Estructura DLGITEMTEMPLATE (winuser.h)

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.

Sintaxis

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  short x;
  short y;
  short cx;
  short cy;
  WORD  id;
} DLGITEMTEMPLATE;

Miembros

style

Tipo: DWORD

El estilo del control. Este miembro puede ser una combinación de valores de estilo de ventana (como WS_BORDER) y uno o varios de los valores de estilo de control (como BS_PUSHBUTTON y ES_LEFT).

dwExtendedStyle

Tipo: DWORD

Estilos extendidos para una ventana. Este miembro no se usa para crear controles en 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.

x

Tipo: short

Coordenada x, en unidades del cuadro de diálogo, de la esquina superior izquierda del control. Esta coordenada siempre es relativa a la esquina superior izquierda del área de cliente del cuadro de diálogo.

y

Tipo: short

Coordenada y, en unidades del cuadro de diálogo, de la esquina superior izquierda del control. Esta coordenada siempre es relativa a la esquina superior izquierda del área de cliente del cuadro de diálogo.

cx

Tipo: short

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

cy

Tipo: short

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

id

Tipo: WORD

Identificador de control.

Observaciones

En una plantilla estándar para un cuadro de diálogo, la estructura DLGITEMTEMPLATE siempre va seguida de tres matrices de longitud variable que especifican la clase, el título y los datos de creación del control. Cada matriz consta de uno o varios elementos de 16 bits.

Cada estructura DLGITEMTEMPLATE de la plantilla debe alinearse en un límite DWORD . Las matrices de clases y títulos deben alinearse en los límites de WORD . La matriz de datos de creación debe alinearse en un límite de WORD .

Inmediatamente después de cada estructura DLGITEMTEMPLATE es una matriz de clases que especifica la clase de ventana del control. Si el primer elemento de esta matriz es cualquier valor distinto de 0xFFFF, el sistema trata la matriz como una cadena Unicode terminada en null que especifica el nombre de una clase de ventana registrada. Si el primer elemento es 0xFFFF, la matriz tiene un elemento adicional que especifica el valor ordinal de una clase del sistema predefinida. El ordinal puede ser uno de los siguientes valores atom.

Value Significado
0x0080 Botón
0x0081 Editar
0x0082 Estático
0x0083 Cuadro de lista
0x0084 Barra de desplazamiento
0x0085 Cuadro combinado
 

Después de la matriz de clases hay una matriz de títulos que contiene el texto inicial o el identificador de recursos del control. Si el primer elemento de esta matriz es 0xFFFF, la matriz tiene un elemento adicional que especifica un valor ordinal de un recurso, como un icono, en un archivo ejecutable. Puede usar un identificador de recurso para los controles, como controles de icono estáticos, que cargan y muestran un icono u otro recurso en lugar de texto. Si el primer elemento es cualquier valor distinto de 0xFFFF, el sistema trata la matriz como una cadena Unicode terminada en null que especifica el texto inicial.

La matriz de datos de creación comienza en el siguiente límite de WORD después de la matriz de títulos. Estos datos de creación pueden tener cualquier tamaño y formato. Si la primera palabra de la matriz de datos de creación es distinto de cero, indica el tamaño, en bytes, de los datos de creación (incluida la palabra de tamaño). El procedimiento de ventana del control debe ser capaz de interpretar los datos. Cuando el sistema crea el control, pasa un puntero a estos datos en el parámetro lParam del WM_CREATE mensaje que envía al control.

Si especifica cadenas de caracteres en las matrices de clase y título, debe usar cadenas Unicode. Use la función MultiByteToWideChar para generar cadenas Unicode a partir de cadenas ANSI.

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

   
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

CreateWindowEx

DLGITEMTEMPLATEEX

DLGTEMPLATE

DLGTEMPLATEEX

Cuadros de diálogo

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Otros recursos

Referencia

WM_CREATE