CHOICE(2) retournera la valeur du numero d option qui a ete selectionnee.
Supprimez maintenant le Wait Key de l exemple precedent, et remplacez-le par les lignes suivantes. Cela devrait changer la forme du curseur de la souris en fonction de l option selectionnee dans votre menu. Notez que Choice=-1 peut etre simplifie en Choice.
E> Do If Choice and Choice(1)=1 Then Exit If Choice(1)=2 and Choice(2)<>0 Then Change Mouse Choice(2) Loop
Creation de menus avances
L utilisation de MENU$ et CHOICE ne se limite pas a la creation de menus simples. En fait, leur utilisation peut etre extremement sophistiquee.
MENU$ est utilise pour definir l apparence de chaque element individuel dans un de vos menus, que ce soit un titre, une option, une sous-option, jusqu au huitieme niveau d options dans la hierarchie de menu. Dans ce chapitre, l expression "parametres d element unique" fait reference aux nombres separes par des virgules et contenus dans une seule paire de parentheses, qui indiquent la position d un element dans le menu. Jusqu a huit parametres peuvent etre utilises. Voici quelques exemples :
X> Menu$(1)="Titre1" Menu$(1 ,1)="Titre1 Option1" Menu$(2,3)="Titre2, Option2" Menu$(1,1,1,1)="Titre1, Option1, Sous-option1, Sous-sous-option1"
Voici maintenant des utilisations de MENU$ pour definir l apparence d un element :
MENU$
instruction : definir l apparence d un element du menu
Menu$(parametres d element)=normal$
Menu$(parametres d element)=normal$,selectionne$,inactif$,fond$
normal$ est simplement la chaine de caracteres qui represente l apparence normale de l element lorsqu il est affiche a l ecran. Les autres chaines sont optionnelles.
Le selectionne$ modifie l apparence de l element lorsqu il est selectionne avec la souris. Par defaut, les elements selectionnes sont affiches en texte inverse.
Le inactif$ est utilise lorsqu un element a ete desactive avec la commande MENU INACTIVE expliquee plus loin. Il permet d afficher un texte ou une apparence differente. Si ce champ est omis, les elements inactifs sont automatiquement affiches en italique.
Le fond$ cree un effet de fond pour les elements de menu lorsqu ils sont dessines pour la premiere fois, tel qu une boite ou une bordure creee avec les commandes internes BAR ou de dessin de ligne.