⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_radiobutton()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_radiobutton()
DESCRIPTION.
La procédure PROC_radiobutton() crée une case à choix, et le place dans sa boite de dialogue.
SYNTAXE.
PROC_radiobutton( boite , texte , identifiant , abscisse , ordonnee , largeur , hauteur , style )
REMARQUES.
boite doit être l'identifiant de la boite de dialogue qui accueillera la case à choix. 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 à choix et sera affiché à droite de la case à choix.
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 à choix 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 à choix 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 à choix. style peut valoir :
- 0, valeur par défaut, pour afficher une case à choix standard ;
- 1, affiche une case à choix sélectionnée ;
- 134217728 (&8000000), pour afficher une case à choix grisé, désactivé ;
- 268435456 (&10000000), pour cacher la case à choix.
Il est possible de combiner plusieurs styles visuels en additionnant les valeurs des styles respectifs. Par exemple : 134217792 (&8000040), combine les valeurs &40 et &8000080, ce qui affichera une case à choix déjà sélectionnée mais grisée.
IMPORTANT : Dans un groupe de cases choix, il est souvent indispensable qu'une d'elles soit sélectionnée, cochée, par défaut pour le bon déroulement du programme. il faut dont penser à mettre style à1 d'une des cases à choix du groupe.
Rappel : une case à choix peut être activée, cochée, ou non, décochée. Lorsque l'utilisateur clique sur une des cases à choix d'un groupe de cases à choix, toutes les autres cases à choix du groupe sont décochées.
Note : dans un groupe de case à choix, ou boutons radio, un seul des controle peut être sélectionné. Sélectionner une case à choix désélectionnera automatiquement toutes les autres cases à choix du groupe. tandis que les cases à option, ou case à 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.
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 à choix.
Voir la procédure PROC_checkdlgitem() qui permet de basculer l'état d'une case à choix.
Voir la procédure PROC_setdlgitemtext() qui permet de modifier l'étiquette d'une case à choix.
La procédure PROC_radiobutton() 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 contorles 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.