Syntaxe
ACHOICE(expN1,expN2,expN3,expN4,array1[,array2[,expC1[,expN4[,expN6]]]])
|
Paramètres
Nom |
Description |
expN1 |
Ce paramètre permet d'indiquer la coordonnée horizontal supérieur |
expN2 |
Ce paramètre permet d'indiquer la coordonnée vertical supérieur |
expN3 |
Ce paramètre permet d'indiquer la coordonnée horizontal inférieur |
expN4 |
Ce paramètre permet d'indiquer la coordonnée vertical inférieur |
array1 |
Ce paramètre permet d'indiquer un tableau de chaîne de caractères affichant les items de menu |
array2 |
Ce paramètre permet d'indiquer un tableau parallèle pour chaque items de menu du paramètre array1. |
expC |
Ce paramètre permet d'indiquer le nom de la fonction utilisateur exécuté généralement quand une clef non-reconnu est enfoncé. |
expN5 |
Ce paramètre permet d'indiquer l'item courant initiale. S'il n'est pas spécifié, la valeur par défaut est le premier item sélectionnable dans le paramètre array1. |
expN6 |
Ce paramètre permet d'indiquer la valeur initiale de ligne de fenêtre relative commençant à la position zéro. |
Description
Cette fonction permet d'afficher une fenêtre de zone de liste avec les coordonnées spécifiés.
Ainsi, la fonction ACHOICE() est une fonction d'interface utilisateur permettant de créer différents types de menus contextuels. Chaque menu
utilise un tableau de chaînes de caractères en tant qu'éléments de menu et un tableau parallèle de valeurs logiques pour déterminer si les éléments peuvent
être sélectionnés. Lorsque vous appelez la fonction ACHOICE(), la liste des éléments de menu s'affiche dans les coordonnées de la fenêtre spécifiées.
Lorsque l'utilisateur appuie sur Return, l'élément actuel est sélectionné et la fonction ACHOICE() renvoie la position de l'élément de
menu dans array1. Lorsque l'utilisateur appuie sur Esc, la fonction ACHOICE() abandonne et retourne 0.
Les éléments de menu défilent si le nombre d'éléments dans array1 dépasse le nombre de lignes dans la fenêtre de menu et que l'utilisateur tente
de déplacer la surbrillance au-delà du haut ou du bas de la fenêtre de menu. Notez que la surbrillance ne se termine pas lorsque vous atteignez le haut
ou le bas de la liste d'éléments. En appuyant sur la première lettre, toutefois, la surbrillance est encapsulée dans l'ensemble des éléments dont la
première lettre correspond à la touche sur laquelle vous avez appuyé.
Remarques
- Navigation dans le menu : La fonction ACHOICE() a 2 modes selon que le paramètre expC est spécifié ou non. S'il n'est pas spécifié, les touches de navigation suivantes sont actives :
Nom |
Description |
↑ |
Cette touche permet d'aller vers l'élément précédent. |
↓ |
Cette touche permet d'aller vers l'élément suivant. |
Home |
Cette touche permet d'aller au premier élément du menu. |
End |
Cette touche permet d'aller au dernier élément du menu. |
Ctrl+Home |
Cette combinaison de touche permet d'aller au premier élément de la fenêtre. |
Ctrl+End |
Cette combinaison de touche permet d'aller au dernier élément de la fenêtre. |
PgUp |
Cette touche permet d'aller à la page précédente. |
PgDn |
Cette touche permet d'aller à la page suivante. |
Ctrl+PgUp |
Cette combinaison de touche permet d'aller au premier élément du menu. |
Ctrl+PgDn |
Cette combinaison de touche permet d'aller au dernier élément du menu. |
Return |
Cette touche permet de sélectionner l'élément courant. |
Esc |
Cette touche permet d'abandonner la sélection. |
← |
Cette touche permet d'abandonner la sélection. |
→ |
Cette touche permet d'abandonner la sélection. |
La première lettre |
Ces touches permettent d'aller à l'élément suivant commençant par la première lettre. |
- Couleur : Les éléments de menu sont affichés en couleur standard, la surbrillance en couleur améliorée et les éléments non disponibles dans la couleur non sélectionnée. Par exemple, la déclaration de couleur suivante :
SETCOLOR("W+/N, BG+/B, , , W/N")
affiche un menu blanc brillant sur noir, la surbrillance est cyan clair sur bleu et les éléments de menu non disponibles sont blanc pâle sur noir.
- Fonction utilisateur : Comme les autres fonctions de l'interface utilisateur, ACHOICE() prend en charge une fonction
utilisateur. La fonction utilisateur est spécifiée lorsque vous souhaitez imbriquer des appels ACHOICE() afin de créer des menus hiérarchiques ou de
redéfinir des touches. Lorsqu'une fonction utilisateur est spécifiée, ACHOICE() ne traite automatiquement qu'un nombre limité de touches.
Ceux-ci sont énumérés dans le tableau suivant. Toutes les autres touches génèrent une exception de touches passant le contrôle à la fonction utilisateur pour
la gestion. Le contrôle est également passé à la fonction utilisateur quand ACHOICE() devient inactif (c'est-à-dire lorsqu'il n'y a plus de
touches à traiter).
Nom |
Description |
↑ |
Cette touche permet d'aller vers l'élément précédent. |
↓ |
Cette touche permet d'aller vers l'élément suivant. |
Ctrl+Home |
Cette combinaison de touche permet d'aller au premier élément de la fenêtre. |
Ctrl+End |
Cette combinaison de touche permet d'aller au dernier élément de la fenêtre. |
PgUp |
Cette touche permet d'aller à la page précédente. |
PgDn |
Cette touche permet d'aller à la page suivante. |
Ctrl+PgUp |
Cette combinaison de touche permet d'aller au premier élément du menu. |
Ctrl+PgDn |
Cette combinaison de touche permet d'aller au dernier élément du menu. |
Lorsque ACHOICE() exécute la fonction utilisateur, il transmet automatiquement les trois paramètres suivants :
- Le mode ACHOICE() actuel
- L'élément actuel dans le tableau d'éléments
- La position relative de la ligne dans la fenêtre du menu
Le mode indique l'état actuel de la fonction ACHOICE() en fonction de la touche enfoncée et de l'action entreprise par ACHOICE() avant l'exécution de la fonction utilisateur. Le paramètre mode a les valeurs possibles suivantes :
Mode |
Achoice.ch |
Description |
0 |
AC_IDLE |
Ce mode permet d'indiquer qu'il est inactif. |
1 |
AC_HITTOP |
Ce mode permet d'indiquer qu'il essai de faire glisser le curseur au-dessus de la liste. |
2 |
AC_HITBOTTOM |
Ce mode permet d'indiquer une tentative de passer le curseur en bas de la liste. |
3 |
AC_EXCEPT |
Ce mode permet d'indiquer une exception de frappe. |
4 |
AC_NOITEM |
Ce mode permet d'indiquer qu'aucun élément est sélectionnable. |
Une fois que la fonction utilisateur a effectué les opérations appropriées pour le mode ACHOICE() ou LASTKEY(), elle doit renvoyer une valeur demandant à ACHOICE() d'effectuer une opération à partir du jeu d'actions suivant :
Valeur |
Achoice.ch |
Description |
0 |
AC_ABORT |
Cette valeur permet d'indiquer qu'il faut annuler la sélection. |
1 |
AC_SELECT |
Cette valeur permet d'indiquer qu'il faut effectuer la sélection. |
2 |
AC_CONT |
Cette valeur permet d'indiquer qu'il faut continuer ACHOICE(). |
3 |
AC_GOTO |
Cette valeur permet d'indiquer qu'il faut aller à l'élément suivant dont le premier caractère correspond à la touche appuyée. |
Dernière mise à jour : Lundi, le 2 septembre 2013