DLGTEMPLATEEX, structure

Un modèle de boîte de dialogue étendu commence par un en-tête DLGTEMPLATEEX qui décrit la boîte de dialogue et spécifie le nombre de contrôles dans la boîte de dialogue. Pour chaque contrôle d’une boîte de dialogue, un modèle de boîte de dialogue étendue contient un bloc de données qui utilise le format DLGITEMTEMPLATEEX pour décrire le contrôle.

La structure DLGTEMPLATEEX n’est définie dans aucun fichier d’en-tête standard. La définition de structure est fournie ici pour expliquer le format d’un modèle étendu pour une boîte de dialogue.

Syntaxe

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;

Membres

dlgVer

Type : Word

Numéro de version du modèle de boîte de dialogue étendue. Ce membre doit avoir la valeur 1.

signature

Type : Word

Indique si un modèle est un modèle de boîte de dialogue étendue. Si la signature est 0xFFFF, il s’agit d’un modèle de boîte de dialogue étendue. Dans ce cas, le membre dlgVer spécifie le numéro de version du modèle. Si la signature correspond à une valeur autre que 0xFFFF, il s’agit d’un modèle de boîte de dialogue standard qui utilise les structures DLGTEMPLATE et DLGITEMTEMPLATE .

helpID

Type : DWORD

Identificateur de contexte d’aide pour la fenêtre de boîte de dialogue. Lorsque le système envoie un message _ d’aide WM , il transmet cette valeur dans le membre WContextId de la structure HELPINFO .

exStyle

Type : DWORD

Styles Windows étendus. Ce membre n’est pas utilisé lors de la création de boîtes de dialogue, mais les applications qui utilisent des modèles de boîte de dialogue peuvent l’utiliser pour créer d’autres types de fenêtres. Pour obtenir la liste des valeurs, consultez styles de fenêtre étendus.

style

Type : DWORD

Style de la boîte de dialogue. Ce membre peut être une combinaison de valeurs de style de fenêtre et de valeurs de style de boîte de dialogue.

Si style inclut le style de boîte de dialogue DS _ SetFont ou DS _ SHELLFONT , l’en-tête DLGTEMPLATEEX du modèle de boîte de dialogue étendue contient quatre membres supplémentaires (taille, épaisseur, italique et police) qui décrivent la police à utiliser pour le texte dans la zone cliente et les contrôles de la boîte de dialogue. Si possible, le système crée une police en fonction des valeurs spécifiées dans ces membres. Le système envoie ensuite un message WM _ SetFont à la boîte de dialogue et à chaque contrôle pour fournir un handle à la police.

Pour plus d’informations, consultez polices de boîte de dialogue.

cDlgItems

Type : Word

Nombre de contrôles dans la boîte de dialogue.

x

Type : short

Coordonnée x, en unités de boîte de dialogue, de l’angle supérieur gauche de la boîte de dialogue.

y

Type : short

Coordonnée y, en unités de boîte de dialogue, de l’angle supérieur gauche de la boîte de dialogue.

adéquat

Type : short

Largeur, en unités de boîte de dialogue, de la boîte de dialogue.

CY

Type : short

Hauteur, en unités de boîte de dialogue, de la boîte de dialogue.

menus

Type : SZ _ ou _ ORD

Tableau de longueur variable d’éléments 16 bits qui identifie une ressource de menu pour la boîte de dialogue. Si le premier élément de ce tableau est 0x0000, la boîte de dialogue n’a pas de menu et le tableau n’a pas d’autres éléments. Si le premier élément est 0xFFFF, le tableau a un élément supplémentaire qui spécifie la valeur ordinale d’une ressource de menu dans un fichier exécutable. Si le premier élément a une autre valeur, le système traite le tableau comme une chaîne Unicode terminée par le caractère null qui spécifie le nom d’une ressource de menu dans un fichier exécutable.

windowClass

Type : SZ _ ou _ ORD

Tableau de longueur variable d’éléments 16 bits qui identifie la classe de fenêtre de la boîte de dialogue. Si le premier élément du tableau est 0x0000, le système utilise la classe de boîte de dialogue prédéfinie pour la boîte de dialogue et le tableau n’a pas d’autres éléments. Si le premier élément est 0xFFFF, le tableau a un élément supplémentaire qui spécifie la valeur ordinale d’une classe de fenêtre système prédéfinie. Si le premier élément a une autre valeur, le système traite le tableau comme une chaîne Unicode terminée par le caractère null qui spécifie le nom d’une classe de fenêtre inscrite.

title

Type : WCHAR [ titleLen ]

Titre de la boîte de dialogue. Si le premier élément de ce tableau est 0x0000, la boîte de dialogue n’a pas de titre et le tableau n’a pas d’autres éléments.

pointsize

Type : Word

Taille en points de la police à utiliser pour le texte dans la boîte de dialogue et ses contrôles.

Ce membre est présent uniquement si le membre de style spécifie DS _ SetFont ou DS _ SHELLFONT.

weight

Type : Word

Poids de la police. Notez que, bien qu’il peut s’agir de l’une des valeurs énumérées pour le membre lfWeight de la structure LOGFONT , toute valeur utilisée sera automatiquement remplacée par le FW _ normal.

Ce membre est présent uniquement si le membre de style spécifie DS _ SetFont ou DS _ SHELLFONT.

italique

Type : Byte

Indique si la police est en italique. Si cette valeur est true, la police est en italique.

Ce membre est présent uniquement si le membre de style spécifie DS _ SetFont ou DS _ SHELLFONT.

caractères

Type : Byte

Jeu de caractères à utiliser. Pour plus d’informations, consultez le membre lfCharSet de LOGFONT.

Ce membre est présent uniquement si le membre de style spécifie DS _ SetFont ou DS _ SHELLFONT.

certain

Type : WCHAR [ stringLen ]

Nom de la police de la police.

Ce membre est présent uniquement si le membre de style spécifie DS _ SetFont ou DS _ SHELLFONT.

Notes

Vous pouvez utiliser un modèle de boîte de dialogue étendu à la place d’un modèle de boîte de dialogue standard dans les fonctions CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirectet DialogBoxIndirect .

Le fait de suivre l’en-tête DLGTEMPLATEEX dans un modèle de boîte de dialogue étendue est une ou plusieurs structures DLGITEMTEMPLATEEX qui décrivent les contrôles de la boîte de dialogue. Le membre cDlgItems de la structure DLGITEMTEMPLATEEX spécifie le nombre de structures DLGITEMTEMPLATEEX qui suivent dans le modèle.

Chaque structure DLGITEMTEMPLATEEX du modèle doit être alignée sur une limite DWORD . Si le membre de style spécifie le style DS _ SetFont ou DS _ SHELLFONT , la première structure DLGITEMTEMPLATEEX commence sur la première limite DWORD après la chaîne de police . Si ces styles ne sont pas spécifiés, la première structure commence sur la première limite DWORD après la chaîne de titre .

Les tableaux menu, WindowClass, title et Typeface doivent être alignés sur les limites de mots .

Si vous spécifiez des chaînes de caractères dans les tableaux menu, WindowClass, title et Typeface , vous devez utiliser des chaînes Unicode. Utilisez la fonction MultiByteToWideChar pour générer ces chaînes Unicode à partir de chaînes ANSI.

Les membres x, y, CX et CY spécifient des valeurs dans les unités de la boîte de dialogue. Vous pouvez convertir ces valeurs en unités d’écran (pixels) à l’aide de la fonction MapDialogRect .

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel - [Applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server - [Applications de bureau uniquement]

Voir aussi

Référence

CreateDialogIndirect

CreateDialogIndirectParam

DialogBoxIndirect

DialogBoxIndirectParam

DLGITEMTEMPLATEEX

MapDialogRect

_SetFont WM

Conceptuel

Boîtes de dialogue

Autres ressources

LOGFONT

MultiByteToWideChar