Structure DLGTEMPLATE (winuser.h)

Définit les dimensions et le style d’une boîte de dialogue. Cette structure, toujours la première d’un modèle standard pour une boîte de dialogue, spécifie également le nombre de contrôles dans la boîte de dialogue et, par conséquent, le nombre de structures DLGITEMTEMPLATE suivantes dans le modèle.

Syntaxe

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  WORD  cdit;
  short x;
  short y;
  short cx;
  short cy;
} DLGTEMPLATE;

Membres

style

Type : DWORD

Style de la boîte de dialogue. Ce membre peut être une combinaison de valeurs de style de fenêtre (telles que WS_CAPTION et WS_SYSMENU) et de valeurs de style de boîte de dialogue (telles que DS_CENTER).

Si le membre de style inclut le style DS_SETFONT , l’en-tête du modèle de boîte de dialogue contient des données supplémentaires spécifiant la police à utiliser pour le texte dans la zone cliente et les contrôles de la boîte de dialogue. Les données de police commencent sur la limite WORD qui suit le tableau de titres. Les données de police spécifient une valeur de taille de point de 16 bits et une chaîne de nom de police Unicode. Si possible, le système crée une police en fonction des valeurs spécifiées. Ensuite, le système envoie un message WM_SETFONT à la boîte de dialogue et à chaque contrôle pour fournir un handle à la police. Si DS_SETFONT n’est pas spécifié, le modèle de boîte de dialogue n’inclut pas les données de police.

Le style DS_SHELLFONT n’est pas pris en charge dans l’en-tête DLGTEMPLATE .

dwExtendedStyle

Type : DWORD

Styles étendus pour une fenêtre. Ce membre n’est pas utilisé pour créer 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.

cdit

Type : WORD

Nombre d’éléments 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.

Remarques

Dans un modèle standard pour une boîte de dialogue, la structure DLGTEMPLATE est toujours immédiatement suivie de trois tableaux de longueur variable qui spécifient le menu, la classe et le titre de la boîte de dialogue. Lorsque le style DS_SETFONT est spécifié, ces tableaux sont également suivis d’une valeur 16 bits spécifiant la taille de point et d’un autre tableau de longueur variable spécifiant un nom de police. Chaque tableau se compose d’un ou plusieurs éléments 16 bits. Les tableaux de menu, de classe, de titre et de police doivent être alignés sur les limites DE WORD .

Immédiatement après la structure DLGTEMPLATE se trouve un tableau de menus 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.

Suivant le tableau de menus se trouve un tableau de classes 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.

Suivant le tableau de classes se trouve un tableau de titres qui spécifie une chaîne Unicode terminée par null qui contient le 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.

La valeur de taille de point 16 bits et le tableau de police suivent le tableau de titres, mais uniquement si le membre de style spécifie le style DS_SETFONT. La valeur de taille de point spécifie la taille de point de la police à utiliser pour le texte de la boîte de dialogue et ses contrôles. Le tableau de polices est une chaîne Unicode terminée par null qui spécifie le nom de la police de type pour la police. Lorsque ces valeurs sont spécifiées, le système crée une police ayant la taille et la police de caractères spécifiées (si possible) et envoie un message WM_SETFONT à la procédure de boîte de dialogue et aux procédures de la fenêtre de contrôle lorsqu’il crée la boîte de dialogue et les contrôles.

Après l’en-tête DLGTEMPLATE dans un modèle de boîte de dialogue standard se trouvent une ou plusieurs structures DLGITEMTEMPLATE qui définissent les dimensions et le style des contrôles dans la boîte de dialogue. Le membre cdit spécifie le nombre de structures DLGITEMTEMPLATE dans le modèle. Ces structures DLGITEMTEMPLATE doivent être alignées sur les limites DWORD .

Si vous spécifiez des chaînes de caractères dans le menu, la classe, le titre ou les tableaux de police, vous devez utiliser des chaînes Unicode.

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

Configuration requise

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]
En-tête winuser.h (inclure Windows.h)

Voir aussi

Conceptuel

CreateDialogIndirect

CreateDialogIndirectParam

DLGITEMTEMPLATE

DLGITEMTEMPLATEEX

DLGTEMPLATEEX

Boîtes de dialogue

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Autres ressources

Référence