⇨ MENU ⇨ BIBLIOTHEQUE ⇨ menulib.bbc
FN_openmenu()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ menulib.bbc
FN_openmenu()
DESCRIPTION.
La fonction FN_openmenu() affiche et ouvre un menu déroulant aux coordonnées indiquées.
SYNTAXE.
koption = FN_openmenu( abscisse , ordonnee , intitules , identifiants , ^procedure() )
REMARQUES.
abscisse doit être une valeur numérique entière, indiquant l'abscisse du point d'origine, par rapport au bord gauche de la fenêtre de sortie.
ordonnee doit être une valeur numérique entière, indiquant l'ordonnée du point d'origine, par rapport au bord haut de la fenêtre de sortie.
intitules doit être identifiant d'un tableau de données de type chaine de caractères ($) déclaré avec l'instruction DIM. L'élément à l'index 0, est les nom du menu déroulant, c'est cette chaine de caractères qui sera affichée dans la barre de menu. Cet élément doit, généralement, être précédé et suivi un espace. Les autres éléments sont les noms des options contenues dans le menu déroulant, ou une chaîne vide ("") pour placer un séparateur entre deux option. Pour spécifier le caractère associé à la touche Alt permettant d'ouvrir le menu, faites-le précéder d'une esperluette (&). Pour indiquer quel raccourci clavier correspond à l'option, il faudra ajouter CHR$9 pour ajouter la combinaison de touches.
identifiants doit être identifiant d'un tableau de données de type nombre entier (%) déclaré avec l'instruction DIM. L'élément à l'index 0, indique le nombre d'options du menu déroulant. Les autres éléments doivent être des nombres entiers compris entre 1 et 4095, la valeur 0 étant réservé aux séparateurs, identifié dans intitules par des chaines de caractères vides ("").
Pour désactive une option, et la faire apparaitre en grisée, il faut ajouter 4096 (&1000) à son identifiant.
Pour afficher une coche d'activation à une option, il faut ajouter 8192 (&2000) à son identifiant.
intitules et identifiants doivent avoir le même nombre d'éléments et être déclarés avant l'appel de la procédure FN_openmenu().
L'appel de la fonction FN_openmenu() retourne une valeur numérique qui devra affecter une variable, indiquant l'identifiant de l'option choisie,. Cette valeur est aussi transmise, via le paramètre obligatoire, à la procédure de rappel, si elle est présente, et qui devra le prévoir dans sa définition.
La procédure FN_openmenu() est importée depuis le module menulib.bbc.
EXEMPLES.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "menulib.bbc"
REM --- INITIALISATION GENERALE ---
MNU_Menu = FN_createmenubar
REM --- Préparation des menus déroulants ---
DIM MNU_Test$( 7 ) , MNU_Test%( 7 )
MNU_Test$() = "TEST" ,"&Option 1" , "Optio&n 2" , "Option 3" + CHR$9 + "Ctrl+3" , "Option 4" , "Option 5" , "" , "Quitter"
MNU_Test%() = 7 , 101 , 102 , 103 , ( 4096 + 104 ) , ( 8192 + 105 ) , 0 , 200
REM --- Afficher la barre menu ---
PROC_setmenupalette( FALSE )
koption = FN_openmenu( 250 , 900 , MNU_Test$() , MNU_Test%() , 0 )
VDU 4 : PRINT TAB( 0 , 10 ) ;
CASE koption OF
WHEN 101 : PRINT "Option 1" ; SPC( 10 )
WHEN 102 : PRINT "Option 2" ; SPC( 10 )
WHEN 103 : PRINT "Option 3" ; SPC( 10 )
WHEN 105 : PRINT "Option 5" ; SPC( 10 )
WHEN 200 : PRINT "Quitter" ; SPC( 10 )
ENDCASE
REM --- Fin du programme ---
PRINT "Fin du test."
PRINT "Au revoir."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.