⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_checkbox()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_checkbox()
DESCRIPTION.
La procédure PROC_checkbox() crée une case à option, et le place dans sa boite de dialogue.
SYNTAXE.
PROC_checkbox( boite , texte , identifiant , abscisse , ordonnee , largeur , hauteur , style )
REMARQUES.
boite doit être l'identifiant de la boite de dialogue qui accueillera la case à option. 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. texte est l'étiquette de la case à option et sera affiché à droite de la case à option.
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 case à option 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 case à option 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 coche et de son étiquette.
hauteur doit être un nombre entier, exprimé en unités de boite de dialogue, donnant la hauteur disponible pour la représentation de la coche et de son étiquette.
style précise le style visuel de la case à option. style peut valoir :
- 0, valeur par défaut, pour afficher une case à option standard ;
- 1, affiche une case à option sélectionnée ;
- 134217728 (&8000000), pour afficher une case à option grisé, désactivé ;
- 268435456 (&10000000), pour cacher la case à option.
Il est possible de combiner plusieurs styles visuels en additionnant les valeurs des styles respectifs. Par exemple : 134217729 (&8000001), combine les valeurs &01 et &8000000, ce qui affichera une case à option déjà sélectionnée mais grisée.
Rappel : une case à option peut être activée, cochée, ou non, décochée. Lorsque l'utilisateur clique dessus, elle bascule entre coché et décoché. Une case à option permet de choisir entre deux états pour valider une option.
Note : les cases à option, ou cases à cocher, d'un même groupe sont toutes indépendantes les une des autres. Le changement d'état de l'une d"elles ne modifie pas l'état des autres cases à option, sauf programmation contraire. Tandis que dans un groupe de case à choix, ou boutons radio, un seul des controles peut être sélectionné. Sélectionner une case à choix désélectionnera automatiquement toutes les autres cases à choix du groupe.
Voir la fonction FN_newdialog() qui permet de déclarer et de créer une boite de dialogue.
Voir la fonction FN_isdlgitemchecked() qui retourne l'état actuel d'une case à option.
Voir la procédure PROC_checkdlgitem() qui permet de basculer l'état d'une case à option.
Voir la procédure PROC_setdlgitemtext() qui permet de modifier l'étiquette d'une case à option.
La procédure PROC_checkbox() 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 --- Creation d'une boite de dialogue nommee DLG_Test de 160 x 60 unites intitulee Test ---
DLG_Test = FN_newdialog( "Test ..." , 160 , 80 )
REM --- Creation des controles de la boite de dialogue ---
PROC_button( DLG_Test , "Fermer." , 8 , 35 , 55 , 40 , 15 , 0 )
PROC_button( DLG_Test , "Message." , FN_setproc( PROC_Action() ) , 85 , 55 , 40 , 15 , 0 )
PROC_checkbox( DLG_Test , "option A." , 101 , 10 , 10 , 40 , 10 , 0 )
PROC_checkbox( DLG_Test , "option B." , 102 , 10 , 25 , 40 , 10 , 0 )
PROC_checkbox( DLG_Test , "option C." , 103 , 10 , 40 , 40 , 10 , 0 )
PROC_radiobutton( DLG_Test , "choix 1." , 201 , 115 , 10 , 40 , 10 , 1 )
PROC_radiobutton( DLG_Test , "choix 2." , 202 , 115 , 25 , 40 , 10 , 0 )
PROC_radiobutton( DLG_Test , "choix 3." , 203 , 115 , 40 , 40 , 10 , 0 )
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 , Qbouton )
FOR kligne = 0 TO 4 : PRINT TAB( 0 , kligne ) STRING$( 50 , " " ) : NEXT kligne
PRINT TAB( 0 , 0 ) ;
IF FN_isdlgitemchecked( DLG_Test , 101 ) PRINT "Option A : selectionnee."
IF FN_isdlgitemchecked( DLG_Test , 102 ) PRINT "Option B : selectionnee."
IF FN_isdlgitemchecked( DLG_Test , 103 ) PRINT "Option C : selectionnee."
IF FN_isdlgitemchecked( DLG_Test , 201 ) PRINT "Choix 1 : selectionnee."
IF FN_isdlgitemchecked( DLG_Test , 202 ) PRINT "Choix 1 : selectionnee."
IF FN_isdlgitemchecked( DLG_Test , 203 ) PRINT "Choix 1 : selectionnee."
PROC_refreshdialog( DLG_Test )
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.