winuser.h

Estructura DLGTEMPLATEEX

Definición

typedef struct {
  WORD      dlgVer;
  WORD      signature;
  DWORD     helpID;
  DWORD     exStyle;
  DWORD     style;
  WORD      cDlgItems;
  short     x;
  short     y;
  short     cx;
  short     cy;
  sz_Or_Ord menu;
  sz_Or_Ord windowClass;
  WCHAR     title[titleLen];
  WORD      pointsize;
  WORD      weight;
  BYTE      italic;
  BYTE      charset;
  WCHAR     typeface[stringLen];
} DLGTEMPLATEEX;

Una plantilla de cuadro de diálogo extendida empieza con una cabecera DLGTEMPLATEEX que describe el cuadro de diálogo y especifica el número de controles en el cuadro de diálogo. Para cada control en el cuadro de diálogo, una plantilla de cuadro de diálogo extendida tiene un bloque de datos que usa el formato DLGITEMTEMPLATEEX para describir el control.

La estructura DLGTEMPLATEEX no está definida en ningún fichero de cabecera estándar. La definición de la estructura se muestra aquí para explicar el formato de una plantilla de cuadro de diálogo extendida.

Descripción

dlgVer
El número de versión de la plantilla de cuadro de diálogo extendida. Este miembro debe ser siempre asignado a 1.
signature
Indica si una plantilla es una plantilla de cuadro de diálogo extendida. Si signature es 0xFFFF, se trata de una plantilla de cuadro de diálogo extendida. En ese caso, el miembro dlgVer especifica el número de versión de la plantilla. Si signature es un valor distinto de 0xFFFF, se trata de una plantilla de cuadro de diálogo estándar que usa las estructuras DLGTEMPLATE y DLGITEMTEMPLATE.
helpID
El identificador de ayuda contextual para la ventana de cuadro de diálogo. Cuando el sistema envía un mensaje WM_HELP, pasa este valor en el miembro wContextId de la estructura HELPINFO.
exStyle
Los estilos de ventana extendidos. Este miembro no se usa cuando se crean cuadros de diálogo, pero las aplicaciones que usan plantillas de cuadro 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 cuadro de diálogo. Este miembro puede ser una combinación de los valores de estilo de ventana y de los valores de estilo de diálogo.

Si style incluye los estilos de diálogo DS_SETFONT o DS_SHELLFONT, la cabecera DLGTEMPLATEEX de la plantilla de cuadro de diálogo extendida contiene cuatro miembros adicionales (pointsize, weight, italic y typeface) que describen la fuente a usar para el texto en el área de cliente y controles del cuadro de diálogo. Si es posible, el sistema crea una fuente de acuerdo a los valores especificados en esos miembros. Entonces, el sistema envía un mensaje WM_SETFONT al cuadro de diálogo y a cada control para proporcionar un manipulador de la fuente.

cDlgItems
El número de controles en en cuadro de diálogo.
x
La coordenada x, en unidades de cuadro de diálogo, de la esquina superior izquierda del cuadro de diálogo
y
La coordenada y, en unidades de cuadro de diálogo, de la esquina superior izquierda del cuadro de diálogo
cx
La anchura, en unidades de diálogo, del cuadro de diálogo.
cy
La altura, en unidades de diálogo, del cuadro de diálogo.
menu
Un array de longitud variable de elementos de 16 bits que identifica un recurso de menú para el cuadro de diálogo. Si el primer elemento es 0x0000, el cuadro de diálogo no tendrá menú y el array no tendrá otros elementos. Si el primer elemento es 0xFFFF, el array tendrá un elemento adicional que especifica el valor ordinal de un recurso de menú dentro del fichero ejecutable. Si el primer elemento tiene otro valor, el sistema trata el array como una cadena Unicode terminada en cero que especifica el nombre de un recurso de menú dentro del fichero ejecutable.
windowClass
Un array de longitud variable de elementos de 16 bits que identifican la clase de ventana del cuadro de diálogo. Si el primer elemento del array es 0x0000, el sistema usa la clase de cuadro de diálogo predefinida para el cuadro de diálogo y el array no tendrá más elementos. Si el primer elemento es 0xFFFF, el array tendrá un elemento adicional que especifica el valor ordinal predefinido de clase de ventana de sistema. Si el primer elemento tiene cualquier otro valor, el sistema trata el array como una cadena Unicode terminada en cero que especifica el nombre de una clase de ventana registrada.
title
El título del cuadro de diálogo. Si el primer elemento de este array es 0x0000, el cuadro de diálogo no tendrá título y el array no tendrá más elementos.
pointsize

El tamaño de la fuente a usar para el texto en el cuadro de diálogo y en sus controles.

Este miembro solo estará presente si el miembro style especifica DS_SETFONT o DS_SHELLFONT.

weight

El peso de la fuente. Tener en cuenta, que aunque se puede especificar cualquiera de los valores para el miembro lfWeight de la estructura LOGFONT, cualquier valor usado será automáticamente cambiado a FW_NORMAL.

Este miembro solo estará presente si el miembro style especifica DS_SETFONT o DS_SHELLFONT.

italic

Indica si la fuente es itálica. Si este valor es TRUE, la fuente será itálica.

Este miembro solo estará presente si el miembro style especifica DS_SETFONT o DS_SHELLFONT.

charset

El juego de caracteres a usar. Para mayor información ver el miembro lfcharset de LOGFONT.

Este miembro solo estará presente si el miembro style especifica DS_SETFONT o DS_SHELLFONT.

typeface

El nombre del tipo para la fuente.

Este miembro solo estará presente si el miembro style especifica DS_SETFONT o DS_SHELLFONT.

Observaciones

Se puede usar una plantilla de cuadro de diálogo extendida en lugar de la plantilla estándar en las funciones CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirect y DialogBoxIndirect.

A continuación de una cabecera DLGTEMPLATEEX en una plantilla de cuadro de diálogo extendida hay una o más estructuras DLGITEMTEMPLATEEX que describen los controles en el cuadro de diálogo. El meimbro cDlgItems de la estructura DLGTEMPLATEEX especifica el número de estructuras DLGITEMTEMPLATEEXque siguen en la plantilla.

Cada estructura DLGITEMTEMPLATEEX en la plantilla debe estar alineada en un DWORD. Si el miembro style especifica el estilo DS_SETFONT o DS_SHELLFONT, la primera estructura DLGITEMTEMPLATEEX empieza en el primer alineamiento DWORD después de la cadena typeface. Si estos estilos no se especifican, la primera estructura empieza en el primer alineamiento DWORD después de la cadena title.

Los arrays menu, windowClass, title y typeface deben estar alineados en WORD.

Si se especifican cadenas de caracteres en menu, windowClass, windowClass, title y typeface, se deben usar cadenas Unicode. La función MultiByteToWideChar se puede usar 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.