Editeurs de liste de valeurs
Remonter à Types de contrôles - Index
TValueListEditor est une grille spécialisée pour la modification des listes de chaînes contenant des paires nom/valeur sous la forme Nom=Valeur. Les noms et les valeurs sont stockés dans un descendant de TStrings qui est la valeur de la propriété Strings. Vous pouvez rechercher la valeur d'un nom à l'aide de la propriété Values. TValueListEditor est spécifique à Windows.
La grille contient deux colonnes, une pour les noms et une pour les valeurs. Par défaut, la colonne des noms s'appelle "Key" et la colonne des valeurs "Value". Vous pouvez modifier ces titres en définissant la propriété TitleCaptions. Vous pouvez omettre ces titres en utilisant la propriété DisplayOptions (qui contrôle également la façon dont se redimensionne le contrôle.)
Vous pouvez autoriser ou empêcher l'utilisateur de modifier la colonne des noms en utilisant la propriété KeyOptions. KeyOptions contient des options séparées pour autoriser la modification des noms, l'ajout de nouveaux noms, la suppression de noms, ainsi que pour déterminer si les nouveaux noms doivent être uniques.
Vous pouvez autoriser ou empêcher l'utilisateur de modifier les entrées de la colonne des valeurs en utilisant la propriété ItemProps. Chaque élément a un objet TItemProp séparé qui vous permet de :
- Fournir un masque afin d'imposer la validité de la saisie.
- Spécifier une longueur maximale pour les valeurs.
- Marquer les valeurs comme valeurs en lecture seule.
- Demander que l'éditeur de liste de valeurs affiche une flèche déroulante ouvrant la liste des valeurs parmi lesquelles l'utilisateur pourra choisir, ou un bouton Points de suspension déclenchant un événement que vous utiliserez pour afficher un dialogue dans lequel l'utilisateur entrera des données.
Si vous spécifiez une flèche déroulante, vous devez fournir la liste des valeurs parmi lesquelles l'utilisateur peut choisir. Il peut s'agir d'une liste statique (la propriété PickList de l'objet TItemProp) ou les valeurs peuvent être ajoutées de manière dynamique à l'exécution en utilisant l'événement OnGetPickList de l'éditeur de liste de valeurs. Vous pouvez aussi combiner ces approches et avoir une liste statique modifiée par le gestionnaire de l'événement OnGetPickList.
Si vous spécifiez un bouton Points de suspension, vous devez fournir la réponse qui est faite lorsque l'utilisateur clique sur ce bouton (y compris la définition d'une valeur, si approprié). Vous fournirez cette réponse en écrivant un gestionnaire pour l'événement OnEditButtonClick.