Structure DLGITEMTEMPLATE (winuser.h)
Définit les dimensions et le style d’un contrôle dans une boîte de dialogue. Une ou plusieurs de ces structures sont combinées à une structure DLGTEMPLATE pour former un modèle standard pour une boîte de dialogue.
Syntaxe
typedef struct {
DWORD style;
DWORD dwExtendedStyle;
short x;
short y;
short cx;
short cy;
WORD id;
} DLGITEMTEMPLATE;
Membres
style
Type : DWORD
Style du contrôle. Ce membre peut être une combinaison de valeurs de style de fenêtre (telles que WS_BORDER) et d’une ou plusieurs valeurs de style de contrôle (telles que BS_PUSHBUTTON et ES_LEFT).
dwExtendedStyle
Type : DWORD
Styles étendus pour une fenêtre. Ce membre n’est pas utilisé pour créer des contrôles dans des 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.
x
Type : short
Coordonnée x, en unités de boîte de dialogue, du coin supérieur gauche du contrôle. Cette coordonnée est toujours relative à l’angle supérieur gauche de la zone cliente de la boîte de dialogue.
y
Type : short
Coordonnée y, en unités de boîte de dialogue, du coin supérieur gauche du contrôle. Cette coordonnée est toujours relative à l’angle supérieur gauche de la zone cliente de la boîte de dialogue.
cx
Type : short
Largeur, en unités de boîte de dialogue, du contrôle.
cy
Type : short
Hauteur, en unités de boîte de dialogue, du contrôle.
id
Type : WORD
Identificateur de contrôle.
Remarques
Dans un modèle standard pour une boîte de dialogue, la structure DLGITEMTEMPLATE est toujours immédiatement suivie de trois tableaux de longueur variable spécifiant la classe, le titre et les données de création du contrôle. Chaque tableau se compose d’un ou plusieurs éléments 16 bits.
Chaque structure DLGITEMTEMPLATE dans le modèle doit être alignée sur une limite DWORD . Les tableaux de classes et de titres doivent être alignés sur les limites de WORD . Le tableau de données de création doit être aligné sur une limite WORD .
Immédiatement après chaque structure DLGITEMTEMPLATE se trouve un tableau de classes qui spécifie la classe window du contrôle. Si le premier élément de ce tableau est une valeur autre que 0xFFFF, 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. Si le premier élément est 0xFFFF, le tableau a un élément supplémentaire qui spécifie la valeur ordinale d’une classe système prédéfinie. L’ordinal peut être l’une des valeurs d’atome suivantes.
Valeur | Signification |
---|---|
0x0080 | Bouton |
0x0081 | Modifier |
0x0082 | Statique |
0x0083 | Zone de liste |
0x0084 | Scroll bar |
0x0085 | Combo box |
Le tableau de classes suivant se trouve un tableau de titres qui contient le texte initial ou l’identificateur de ressource du contrôle. Si le premier élément de ce tableau est 0xFFFF, le tableau a un élément supplémentaire qui spécifie une valeur ordinale d’une ressource, telle qu’une icône, dans un fichier exécutable. Vous pouvez utiliser un identificateur de ressource pour les contrôles, tels que les contrôles d’icône statique, qui chargent et affichent une icône ou une autre ressource plutôt que du texte. Si le premier élément est une valeur autre que 0xFFFF, le système traite le tableau comme une chaîne Unicode terminée par null qui spécifie le texte initial.
Le tableau de données de création commence à la limite WORD suivante après le tableau de titre. Ces données de création peuvent être de n’importe quelle taille et format. Si le premier mot du tableau de données de création est différent de zéro, il indique la taille, en octets, des données de création (y compris le mot de taille). La procédure de fenêtre du contrôle doit être en mesure d’interpréter les données. Lorsque le système crée le contrôle, il passe un pointeur vers ces données dans le paramètre lParam du message WM_CREATE qu’il envoie au contrôle.
Si vous spécifiez des chaînes de caractères dans les tableaux de classes et de titres, vous devez utiliser des chaînes Unicode. Utilisez la fonction MultiByteToWideChar pour générer des 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
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | winuser.h (inclure Windows.h) |
Voir aussi
Conceptuel
Autres ressources
Référence