Partager via


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.

Voir aussi