DTCTL
S’applique à : Outlook 2013 | Outlook 2016
Décrit un contrôle qui sera utilisé dans une boîte de dialogue générée à partir d’une table d’affichage.
Propriété | Valeur |
---|---|
Fichier d’en-tête : |
Mapidefs.h |
typedef struct
{
ULONG ulCtlType;
ULONG ulCtlFlags;
LPBYTE lpbNotif;
ULONG cbNotif;
LPSTR lpszFilter;
ULONG ulItemID;
union
{
LPVOID lpv;
LPDTBLLABEL lplabel;
LPDTBLEDIT lpedit;
LPDTBLLBX lplbx;
LPDTBLCOMBOBOX lpcombobox;
LPDTBLDDLBX lpddlbx;
LPDTBLCHECKBOX lpcheckbox;
LPDTBLGROUPBOX lpgroupbox;
LPDTBLBUTTON lpbutton;
LPDTBLRADIOBUTTON lpradiobutton;
LPDTBLMVLISTBOX lpmvlbx;
LPDTBLMVDDLBX lpmvddlbx;
LPDTBLPAGE lppage;
} ctl;
} DTCTL, FAR *LPDTCTL;
Members
ulCtlType
Type de contrôle inclus dans le membre ctl et correspondant à la propriété PR_CONTROL_TYPE (PidTagControlType) du contrôle. Les valeurs possibles sont les suivantes :
DTCT_LABEL
Contrôle Étiquette
DTCT_EDIT
Modifier le contrôle.
DTCT_LBX
Contrôle de zone de liste.
DTCT_COMBOBOX
Contrôle zone de liste déroulante.
DTCT_DDLBX
Contrôle de liste déroulante.
DTCT_CHECKBOX
Contrôle de case à cocher.
DTCT_GROUPBOX
Contrôle zone de groupe.
DTCT_BUTTON
Contrôle de bouton.
DTCT_PAGE
Contrôle de page à onglets.
DTCT_RADIOBUTTON
Contrôle de case d’option.
DTCT_MVLISTBOX
Contrôle de liste à valeurs multiples.
DTCT_MVDDLBX
Contrôle de liste déroulante à valeurs multiples.
ulCtlFlags
Masque de bits des indicateurs qui décrit les fonctionnalités du contrôle et correspond à la propriété PR_CONTROL_FLAGS (PidTagControlFlags) du contrôle. Ces indicateurs peuvent être définis uniquement pour les zones case activée, les zones de liste déroulante, les zones de liste et les contrôles de modification. Les valeurs possibles sont les suivantes :
DT_ACCEPT_DBCS
Le format ANSI ou DBCS est accepté. Cet indicateur est valide uniquement pour les contrôles de modification.
DT_EDITABLE
Un utilisateur peut modifier le texte dans le contrôle.
DT_MULTILINE
Le contrôle peut contenir plusieurs lignes de texte. Cet indicateur est valide uniquement pour les contrôles de modification.
DT_PASSWORD_EDIT
Le contrôle contient un mot de passe ; par conséquent, le contenu du contrôle ne doit pas être affiché à l’utilisateur. Cet indicateur est valide uniquement pour les contrôles de modification.
DT_REQUIRED
Le contrôle de boîte de dialogue est obligatoire. Cet indicateur est valide uniquement pour les contrôles d’édition et de zone de liste déroulante.
DT_SET_IMMEDIATE
Active la sortie immédiate d’une valeur lors d’une modification du contrôle. Cela permet d’établir une relation de dépendance entre deux contrôles.
lpbNotif
Pointeur vers une structure qui se compose d’une structure GUID , pour représenter le fournisseur de services et un identificateur pour le contrôle. Les membres lpbNotif et cbNotif correspondent à la propriété PR_CONTROL_ID du contrôle (PidTagControlId) et sont utilisés pour avertir l’interface utilisateur lorsque le contrôle doit être mis à jour.
cbNotif
Nombre d’octets dans la structure vers laquelle pointe le membre lpbNotif .
lpszFilter
Pointeur vers une chaîne de caractères qui décrit les caractères qui peuvent être entrés dans un contrôle de zone de modification ou de liste déroulante. Pour les autres types de contrôles, le membre lpszFilter peut être NULL. Pour les contrôles d’édition et de zone de liste déroulante, il doit s’agir d’une expression régulière qui s’applique à un seul caractère à la fois. Le même filtre est appliqué à tous les caractères du contrôle. Le format de la chaîne de filtre est le suivant :
Caractère | Description |
---|---|
* |
Tout caractère est autorisé (par exemple, "*" ). |
[ ] |
Définit un ensemble de caractères (par exemple, "[0123456789]" .) |
- |
Indique une plage de caractères (par exemple, "[a-z]" ). |
~ |
Indique que ces caractères ne sont pas autorisés (par exemple, "[~0-9]") . |
\ |
Utilisé pour citer l’un des symboles précédents (par exemple, "[\-\\\[\]]" signifie -, , caractères [, et ] sont autorisés). |
ulItemID
Valeur qui identifie le contrôle dans la ressource de boîte de dialogue. Pour les contrôles de pages à onglets de type DTCT_PAGE le membre ulItemID est éventuellement utilisé pour charger le nom du composant de la page à partir d’une ressource de chaîne. Les informations de position et d’étiquette sont lues à partir de la ressource de boîte de dialogue.
Ctl
Structure qui contient les données du contrôle et qui correspond à la propriété PR_CONTROL_STRUCTURE (PidTagControlStructure) du contrôle. Chaque type de contrôle a une structure différente.
Remarques
La structure DTCTL décrit un contrôle de tout type. La plupart de ses membres sont utilisés pour définir des propriétés sur le contrôle.
Le membre ctl est une union de structures liées à un type particulier de contrôle. Si la structure DTCTL décrit un contrôle d’édition, par exemple, le membre ctl pointe vers une structure DTBLEDIT . Cette structure correspond à la propriété PR_CONTROL_STRUCTURE du contrôle. L’union a comme premier membre une variable de type LPVOID pour permettre l’initialisation au moment de la compilation de la structure DTCTL .
Bien que la fonction BuildDisplayTable utilise la structure DTCTL pour générer la table d’affichage à partir de ressources de contrôle, la structure DTCTL n’apparaît jamais dans la table d’affichage elle-même. Cette structure fournit simplement des informations à BuildDisplayTable.
Dans le membre ulCtlFlags , quatre indicateurs DT_ACCEPT_DBCS, DT_EDITABLE DT_MULTILINE_and DT_PASSWORD_EDIT affectent uniquement les contrôles d’édition. Deux autres DT_REQUIRED et DT_SET_IMMEDIATE affectent tout contrôle modifiable.
Les contrôles disponibles pour une boîte de dialogue sont les suivants : étiquette, zone de texte, zone de texte prenant en charge l’entrée manuscrite, liste, liste déroulante, zone de liste déroulante, case activée zone de groupe, bouton, case d’option et page à onglets.
Pour obtenir une vue d’ensemble des tables d’affichage, consultez Afficher les tables. Pour plus d’informations sur l’implémentation d’une table d’affichage, consultez Implémentation d’une table d’affichage.