ComboBox, contrôle

Le contrôle ComboBox affiche une liste déroulante de valeurs prédéfinies et un champ de modification dans lequel l’utilisateur peut entrer une valeur. Pour associer ce contrôle à une propriété ou chaîne entière, entrez le nom de la propriété dans la colonne Property de la table Control.

Attributs de contrôle

Vous pouvez utiliser les attributs suivants avec ce contrôle. Pour modifier la valeur d’un attribut à l’aide d’un événement, abonnez le contrôle à un ControlEvent dans la table EventMapping, et répertoriez l’identificateur de l’attribut dans la colonne Attribut. Entrez l’identificateur de ControlEvent dans la colonne Event.

Identificateur d’attribut Bit hexadécimal Description
IndirectPropertyName Nom d’une propriété indirecte associée au contrôle. Si le bit d’attribut Indirect est défini, le contrôle affiche ou modifie la valeur de la propriété portant ce nom, nom qui constitue également la valeur de la propriété figurant dans la colonne Property de la table Control.
Position Position du contrôle dans la boîte de dialogue. Si le bit d’attribut indirect est défini, ce nom est également la valeur de la propriété répertoriée dans la colonne Propriété de la table Control. Utilisez les unités du programme d’installation pour la longueur et la distance.
PropertyName Nom de la propriété associée à ce contrôle. Si le bit d’attribut Indirect n’est pas défini, le contrôle affiche ou modifie la valeur de la propriété portant ce nom. Cet attribut est spécifié dans la colonne Property de la table Control.
PropertyValue La valeur actuelle de la propriété affichée ou modifiée par ce contrôle. Si le bit d’attribut indirect n’est pas défini, il s’agit de la valeur de PropertyName. S’il est défini, il s’agit de la valeur d’IndirectPropertyName. Lorsque l’attribut change, le contrôle reflète la nouvelle valeur.
Texte Pour définir la police et le style de police d’une chaîne de texte, préfixez la chaîne des caractères affichés avec {\style} ou {&style}. Où style est un identificateur répertorié dans la colonne TextStyle de la table TextStyle. Si aucun de ces éléments n’est présent, mais que la propriété DefaultUIFont est définie comme un style de texte valide, cette police sera utilisée. Pour spécifier le nombre de caractères que l’utilisateur peut entrer, ajoutez {n} après les spécifications de police, où n est une positif entier.
Visible 0x00000000 0x00000001
Contrôle masqué. Contrôle visible.
Incluez ce bit dans le mot de bit de la colonne Attributes dans la table Control pour rendre le contrôle visible ou masqué lors de sa création.
Vous pouvez également masquer ou afficher un contrôle à l’aide de la table ControlCondition.
Activé 0x00000000 0x00000002
Contrôle dans un état désactivé. Contrôle dans un état activé.
Incluez ce bit dans le mot de bit dans la colonne Attributes de la table Control pour activer le contrôle lors de la création.
Vous pouvez également activer ou désactiver un contrôle à l’aide de la table ControlCondition.
Sunken 0x00000000 0x00000004
Affiche le style visuel par défaut. Affiche le contrôle avec un aspect 3D enfoncé.
Incluez ces bits dans le mot bit dans la colonne Attributes de la table Control.
Indirect 0x00000000 0x00000008
Le contrôle affiche ou change la valeur de la propriété dans la colonne Property de la table Control. Le contrôle affiche ou change la valeur de la propriété dont l’identificateur est listé dans la colonne Property de la table Control.
Détermine si la propriété associée à ce contrôle est référencée indirectement.
Integer 0x00000000 0x00000010
La propriété associée au contrôle est une valeur de chaîne. La propriété associée au contrôle est une valeur d’entier.
Incluez ce bit dans la colonne Attributes de la table Control pour définir cet attribut au moment de la création du contrôle.
RTLRO 0x00000000 0x00000020
Le texte du contrôle s’affiche dans l’ordre de lecture de gauche à droite. Le texte du contrôle s’affiche dans l’ordre de lecture de droite à gauche.
RightAligned 0x00000000 0x00000040
Le texte du contrôle est aligné à gauche. Le texte du contrôle est aligné à droite.
LeftScroll 0x00000000 0x00000080
La barre de défilement se trouve sur le côté droit du contrôle. La barre de défilement se trouve sur le côté gauche du contrôle.
BiDi 0x000000E0 Définissez cette valeur pour une combinaison des attributs RTLRO, RightAligned et LeftScroll.
Trié non défini 0x00010000
Éléments affichés dans l’ordre alphabétique. Éléments affichés dans l’ordre spécifié dans la table ListView.
Le contrôle interroge la table ComboBox et, si le bit de style Sorted est défini, ComboBox a le style CBS_SORT et affiche les éléments comme spécifié par Ordering. Si ce bit de style n’est pas défini, les éléments sont affichés par ordre alphabétique.
ComboList non défini 0x00020000
Zone de liste modifiable avec champ d’édition. La zone de liste modifiable avec champ d’édition est remplacée par un champ de texte statique.
UsersLanguage 0x00000000 0x00100000
Polices créées dans la page de codes de la base de données. Polices créées dans la page de codes d’IU par défaut de l’utilisateur.

Notes

Ce contrôle peut être créé à partir de la classe COMBOBOX à l’aide de la fonction CreateWindowEx. Il a les styles CBS_AUTOHSCROLL, WS_TABSTOP, WS_GROUP et WS_CHILD. Si le bit ComboList est activé, il a également le style CBS_DROPDOWNLIST, sinon il a le style CBS_DROPDOWN.

La longueur du texte pouvant être entré peut être limitée en plaçant un nombre compris entre 0 et 2147483646 entre accolades au début du champ Text de la table Control. Par exemple, si le champ de texte commence par {80}, la longueur de la chaîne est limitée à 80 caractères. Si aucune limite de ce type n’est fournie dans la table ou si 0 est spécifié, la longueur est définie sur le maximum possible (2147483646 caractères). Une valeur négative ou non numérique génère une erreur.

Pour la compatibilité avec les lecteurs d’écran, lors de la création d’une boîte de dialogue avec un contrôle ComboBox comme premier contrôle actif, vous devez faire du champ de texte appartenant au champ d’édition le premier contrôle actif de la table Dialog. Étant donné que le texte statique ne peut pas être mis au point, lorsque la boîte de dialogue est créée, le champ de modification a initialement le focus comme prévu. Cela garantit que les lecteurs d’écran affichent les informations correctes.