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

CreateDialogIndirect

CreateDialogIndirectParam

CreateWindowEx

DLGITEMTEMPLATEEX

DLGTEMPLATE

DLGTEMPLATEEX

Boîtes de dialogue

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Autres ressources

Référence

WM_CREATE