⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_combobox()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_combobox()
DESCRIPTION.
La procédure PROC_combobox() crée une liste déroulante d'une sélections, ou liste à choix unique, et le place dans sa boite de dialogue.
SYNTAXE.
PROC_combobox( boite , texte , identifiant , abscisse , ordonnee , largeur , hauteur , style )
REMARQUES.
boite doit être l'identifiant de la boite de dialogue qui accueillera la liste déroulante d'une sélection. Il s'agit du nom de la variable qui a reçu la valeur retournée par la fonction FN_newdialog() pour la création de boite.
texte doit être une chaine de caractères quelconque mais valide. Si texte n'est pas une chaine vide, différent de "", il sera affiché dans le champs de sélection comme valeur par défaut. La valeur texte ne doit pas être obligatoirement une des valeurs de la liste déroulante.
identifiant doit être un nombre entier supérieur à 11. Tous les controles d'une même boîte de dialogue doivent avoir un identifiant unique mais un identifiant peut être utilisé par plusieurs controles dans des boites de controle différentes.identifiant peut être la valeur retournée par la fonction FN_setproc(); en particulier si le programme doit utiliser identifiant pour connaitre le contenu du champs de saisie. Voir la procédure PROC_button() pour les valeurs spéciales réservées aux boutons cliquables.
abscisse doit être des nombre entier, exprimé en unités de boite de dialogue, indiquant l'abscisse du bord gauche de la liste déroulante dans boite, c'est-à-dire par rapport au bord gauche de boite.
ordonnee doit être des nombre entier, exprimé en unités de boite de dialogue, indiquant l'ordonnée du bord haut de la liste déroulante dans boite, c'est-à-dire par rapport au bord haut de boite.
largeur doit être un nombre entier, exprimé en unités de boite de dialogue, donnant la largeur disponible pour la représentation de la liste déroulante.
hauteur doit être un nombre entier, exprimé en unités de boite de dialogue, donnant la hauteur disponible pour la représentation de la liste déroulante.
style précise le style visuel du champ de saisie. style peut valoir :
- 0, valeur par défaut, pour afficher une liste fixe de sélection standard ;
- 134217728 (&8000000), pour afficher une liste fixe grisé, désactivé ;
- 268435456 (&10000000), pour cacher la liste fixe.
La procédure PROC_combobox() crée une liste fixe de sélection vide. Pour insérer, ou modifier, les éléments de la liste il faudra :
- déclarer un tableau de données avec l'instruction DIM() ;
- affecter les valeurs aux éléments du tableau de données ;
- appeler la procédure PROC_setcomboboxarray() pour placer les éléments du tableau de données dans la liste.
Voir la fonction FN_newdialog() qui permet de déclarer et de créer une boite de dialogue.
Voir la procédure PROC_setlistboxarray() qui permet la gestion des items de la liste.
Voir la procédure FN_getdlgitemtext() qui retourne la valeur de élément sélectionné.
La procédure PROC_combobox() est importée depuis le module dlglib.bbc.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "dlglib.bbc"
REM --- Chargement de la police de caracteres par defaut ---
OSCLI "FONT """ + @lib$ + "DejaVuSans"",12"
REM --- Initialisation des elements de la liste ---
DIM LST_Choix$( 10 )
FOR kindex = 0 TO 10 : LST_Choix$( kindex ) = "Element " + CHR$( 65 + kindex ) : NEXT kindex
REM --- Creation d'une boite de dialogue nommee DLG_Test de 160 x 60 unites intitulee Test ---
DLG_Test = FN_newdialog( "Test ..." , 60 , 100 )
kselection = FN_setproc( PROC_Action() )
REM --- Creation des controles de la boite de dialogue ---
PROC_button( DLG_Test , "Fermer." , 8 , 10 , 80 , 40 , 15 , 0 )
PROC_combobox( DLG_Test , "Defaut." , kselection , 5 , 5 , 50 , 70 , 0 )
PROC_setcomboboxarray( DLG_Test , kselection , LST_Choix$() , 7 )
REM --- Affichage de la boite de dialogue et attende des choix de l'utilisateur ---
kcontrole = FN_showdialog( DLG_Test , &FFFFFFFF80000000 , &FFFFFFFF80000000 )
REM --- Fermeture de la boite de dialogue ---
PROC_closedialog( DLG_Test )
REM --- Fin du programme ---
PRINT : PRINT "Au revoir."
END
REM --- DEFINITION DES METHODES PERSONNALISEES ---
REM --- Procedures d'appel de la boite de dialogue DLG_Test ---
DEF PROC_Action( Qboite , Qliste ) : PRINT TAB( 0 , 0 ) FN_getdlgitemtext( Qboite , Qliste ) : ENDPROC
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.