Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ 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

vos remarques, vos commentaires et de vos suggestions.

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.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse