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
-
Conceptuel
-
Autres ressources