Structure DLGTEMPLATEEX
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 étendu a 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 étendu. Si la signature est 0xFFFF, il s’agit d’un modèle de boîte de dialogue étendu. Dans ce cas, le membre dlgVer spécifie le numéro de version du modèle. Si la signature est 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 WM_HELP , il transmet cette valeur dans le membre wContextId de la structure HELPINFO .
-
exStyle
-
Type : DWORD
-
Styles de fenêtre é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 le 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 étendu contient quatre membres supplémentaires ( pointize, poids, 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. Ensuite, le système envoie 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 : court
-
Coordonnée x, en unités de boîte de dialogue, du coin supérieur gauche de la boîte de dialogue.
-
y
-
Type : court
-
Coordonnée y, en unités de boîte de dialogue, du coin supérieur gauche de la boîte de dialogue.
-
Cx
-
Type : court
-
Largeur, en unités de boîte de dialogue, de la boîte de dialogue.
-
cy
-
Type : court
-
Hauteur, en unités de boîte de dialogue, de la boîte de dialogue.
-
menu
-
Type : sz_Or_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 null qui spécifie le nom d’une ressource de menu dans un fichier exécutable.
-
windowClass
-
Type : sz_Or_Ord
-
Tableau de longueur variable d’éléments 16 bits qui identifie la classe window 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 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 aucun titre et le tableau n’a pas d’autres éléments.
-
pointsize
-
Type : WORD
-
Taille de point de la police à utiliser pour le texte de 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, même s’il peut s’agir de l’une des valeurs répertoriées pour le membre lfWeight de la structure LOGFONT , toute valeur utilisée est automatiquement modifiée en 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 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.
-
Charset
-
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.
-
Fonte
-
Type : WCHAR[stringLen]
-
Nom de la police de type pour 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 au lieu d’un modèle de boîte de dialogue standard dans les fonctions CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirect et DialogBoxIndirect .
Après l’en-tête DLGTEMPLATEEX dans un modèle de boîte de dialogue étendu se trouve 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 dans le modèle doit être alignée sur une limite DWORD . Si le membre de style spécifie le style DS_SETFONT ou DS_SHELLFONT style, 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 .
Le menu, windowClass, title et les tableaux de police doivent être alignés sur les limites DE WORD .
Si vous spécifiez des chaînes de caractères dans le menu, windowClass, title et les tableaux de police , 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 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