Estructura DLGITEMTEMPLATEEX
Definición
typedef struct { DWORD helpID; DWORD exStyle; DWORD style; short x; short y; short cx; short cy; DWORD id; sz_Or_Ord windowClass; sz_Or_Ord title; WORD extraCount; } DLGITEMTEMPLATEEX;
Un bloque de texto usado por una plantilla de cuadro de diálogo extendida para describir un control del cuadro de diálogo extendido. Para una descripción del formato de una plantilla de cuadro de diálogo extendida, ver DLGTEMPLATEEX.
Descripción
- helpID
- El identificador de ayuda contextual para el control. Cuando el sistema envía un mensaje WM_HELP, pasa el valor helpID en el miembro dwContextId de la estructura HELPINFO.
- exStyle
- Los 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 cuadros de diálogo pueden usarlo para crear otros tipos de ventanas. Para una lista de valores, ver Estilos Extendidos de Ventana.
- style
- El estilo del control. Este miembro puede ser una combinación de los valores de estilo de ventana (como WS_BORDER) y uno o más de los valores de estilo de control (como BS_PUSHBUTTON y ES_LEFT).
- x
- La coordenada x, en unidades de cuadro de diálogo, de la esquina superior izquierda del control. Esta coordenada es siempre relativa a la esquina superior izquierda del área de cliente del cuadro de diálogo.
- y
- La coordenada y, en unidades de cuadro de diálogo, de la esquina superior izquierda del control. Esta coordenada es siempre relativa a la esquina superior izquierda del área de cliente del cuadro de diálogo.
- cx
- La anchura, en unidades de cuadro de diálogo, del control.
- cy
- La altura, en unidades de cuadro de diálogo, del control.
- id
- El identificador del control.
- windowClass
Un array de longitud variable de elementos de 16 bits que especifica la clase de ventana del control. Si el primer elemento de este array es cualquier valor distinto de 0xFFFF, el sistema trata el array como una cadena Unicode terminada en cero que especifica el nombre de una clase de ventana registrada.
Si el primer elemento es 0xFFFF, el array tiene un elemento adicional que especifica el valor ordinal de una clase de sistema predefinida. El ordinal puede ser uno de los siguiente valores atómicos:
Valor Significado 0x0080 Button 0x0081 Edit 0x0082 Static 0x0083 List box 0x0084 Scroll bar 0x0085 Combo box - title
- Un array de longitud variable de elementos de 16 bits que contiene el texto inicial o identificador de recurso del control. Si el primer elemento de este array es 0xFFFF, el array contendrá un elemento adicional que especifica el valor ordinal de un recurso, como un icono, dentro del fichero ejecutable. Se puede usar un identificador de recurso para controles, como controles de iconos estáticos, que cargan y nuestran un icono u otro recurso distinto de texto. Si el primer elemento es un valor distinto de 0xFFFF, el sistema trata el array como una cadena Unicode terminada en cero que especifica el texto inicial.
- extraCount
- El número de bytes de datos de creación que siguen a este miembro. Si este valor es mayor de cero, los datos de creación empiezan en el siguiente alineamiento WORD. Estos datos de creación pueden tener cualquier tamaño y formato. 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 mensaje WM_CREATE que es enviado al control.
Observaciones
Una plantilla extendida para un cuadro de diálogo consiste en una cabecera DLGTEMPLATEEX seguida por una estructura DLGITEMTEMPLATEEX para cada control en el cuadro de diálogo.
Cada estructura DLGITEMTEMPLATEEX debe estar alineada a un DWORD. Los arrays de longitud variable windowClass y title deben estar alineados a un WORD. El array de datos de creación, si existe, debe estar alineado a un WORD.
Si se especifican cadenas de caracteres en windowClass y title, se deben usar cadenas Unicode. Usar la función MultiByteToWideChar para generar cadenas Unicode a partir de cadenas ANSI.
Los miembros x, y, cx y cy especifican valores en unidades de cuadro de diálogo. Se pueden convertir estos valores a unidades de pantalla (pixels) usando la función MapDialogRect.