Estructura 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 extendida tiene un bloque de datos que usa el formato DLGITEMTEMPLATEEX para describir el control.

La estructura DLGTEMPLATEEX no está definida en ningún archivo de encabezado estándar. La definición de estructura se proporciona aquí para explicar el formato de una plantilla extendida para un cuadro de diálogo.

Sintaxis

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;

Miembros

dlgVer

Tipo: WORD

Número de versión de la plantilla del cuadro de diálogo extendido. Este miembro debe establecerse en 1.

firma

Tipo: WORD

Indica si una plantilla es una plantilla de cuadro de diálogo extendida. Si la firma es 0xFFFF, se trata de una plantilla de cuadro de diálogo extendida. En este caso, el miembro dlgVer especifica el número de versión de la plantilla. Si signature es cualquier valor distinto de 0xFFFF, se trata de una plantilla de cuadro de diálogo estándar que usa las estructuras DLGTEMPLATE y DLGITEMTEMPLATE .

helpID

Tipo: DWORD

Identificador de contexto de ayuda para la ventana del cuadro de diálogo. Cuando el sistema envía un mensaje de WM_HELP , pasa este valor en el miembro wContextId de la estructura HELPINFO .

exStyle

Tipo: DWORD

Estilos extendidos de ventanas. Este miembro no se usa al 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.

style

Tipo: DWORD

Estilo del cuadro de diálogo. Este miembro puede ser una combinación de valores de estilo de ventana y valores de estilo de cuadro de diálogo.

Si style incluye el estilo del cuadro de diálogo DS_SETFONT o DS_SHELLFONT , el encabezado DLGTEMPLATEEX de la plantilla de cuadro de diálogo extendido contiene cuatro miembros adicionales ( pointsize, weight, italic y typeface) que describen la fuente que se va a usar para el texto del área cliente y los controles del cuadro de diálogo. Si es posible, el sistema crea una fuente según los valores especificados en estos miembros. 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.

Para obtener más información, vea Fuentes del cuadro de diálogo.

cDlgItems

Tipo: WORD

Número de controles 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.

menú

Tipo: sz_Or_Ord

Matriz de longitud variable de elementos de 16 bits 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.

windowClass

Tipo: sz_Or_Ord

Matriz de longitud variable de elementos de 16 bits 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 otros elementos. 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.

title

Tipo: WCHAR[titleLen]

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 otros elementos.

pointsize

Tipo: WORD

Tamaño de punto de la fuente que se va a usar para el texto del cuadro de diálogo y sus controles.

Este miembro solo está presente si el miembro de estilo especifica DS_SETFONT o DS_SHELLFONT.

weight

Tipo: WORD

El grosor de la fuente. Tenga en cuenta que, aunque esto puede ser cualquiera de los valores enumerados para el miembro lfWeight de la estructura LOGFONT , cualquier valor que se use se cambiará automáticamente a FW_NORMAL.

Este miembro solo está presente si el miembro de estilo especifica DS_SETFONT o DS_SHELLFONT.

cursiva

Tipo: BYTE

Indica si la fuente está en cursiva. Si este valor es TRUE, la fuente está en cursiva.

Este miembro solo está presente si el miembro de estilo especifica DS_SETFONT o DS_SHELLFONT.

charset

Tipo: BYTE

Juego de caracteres que se va a usar. Para obtener más información, consulte el miembro lfcharset de LOGFONT.

Este miembro solo está presente si el miembro de estilo especifica DS_SETFONT o DS_SHELLFONT.

Tipografía

Tipo: WCHAR[stringLen]

Nombre del tipo de letra de la fuente.

Este miembro solo está presente si el miembro de estilo especifica DS_SETFONT o DS_SHELLFONT.

Comentarios

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

Después del encabezado DLGTEMPLATEEX de una plantilla de cuadro de diálogo extendido es una o varias estructuras DLGITEMTEMPLATEEX que describen los controles del cuadro de diálogo. El miembro cDlgItems de la estructura DLGITEMTEMPLATEEX especifica el número de estructuras DLGITEMTEMPLATEEX que siguen en la plantilla.

Cada estructura DLGITEMTEMPLATEEX de la plantilla debe alinearse en un límite DWORD . Si el miembro de estilo especifica el estilo DS_SETFONT o DS_SHELLFONT , la primera estructura DLGITEMTEMPLATEEX comienza en el primer límite DWORD después de la cadena de letra de letra . Si no se especifican estos estilos, la primera estructura comienza en el primer límite DWORD después de la cadena de título .

Las matrices menu, windowClass, title y typeface deben alinearse en los límites de WORD .

Si especifica cadenas de caracteres en el menú, windowClass, title y matrices de letras , debe usar cadenas Unicode. Use la función MultiByteToWideChar para generar estas cadenas Unicode a partir de cadenas ANSI.

Los miembros x, y, cx y cy especifican valores en las 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]

Consulte también

Referencia

CreateDialogIndirect

CreateDialogIndirectParam

DialogBoxIndirect

DialogBoxIndirectParam

DLGITEMTEMPLATEEX

MapDialogRect

WM_SETFONT

Conceptual

Cuadros de diálogo

Otros recursos

LOGFONT

MultiByteToWideChar