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 ⇨ dlglib.bbc

PROC_checkdlgitem()

DESCRIPTION.


La procédure PROC_checkdlgitem() modifie l'état d'une case à option ou d'une case à choix.




SYNTAXE.


PROC_checkdlgitem( boite , controle , etat )




REMARQUES.


boite doit être l'identifiant de la boite de dialogue qui accueille la case à cocher. 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.


controle doit être l'identifiant de la casse à option ou de la case à choix.


etat peut être : 

- TRUE, pour cocher, sélectionner, controle ;

- FALSE, pour décocher, désélectionner, controle.


  

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.


IMPORTANT : Si le programme utilise la procédure PROC_checkdlgitem() pour sélectionner un des choix dans un groupe de cases à choix, il est indispensable de l'utiliser aussi pour décocher toutes les autres cases à choix de ce groupe. En effet, ne gère pas l'état global des cases à choix d'un groupe si l'une d'elles est cochée avec la procédure PROC_checkdlgitem().


Voir la fonction FN_newdialog() qui permet de déclarer et de créer une boite de dialogue. 

Voir la procédure PROC_checkbox() qui permet de créer une case à option.

Voir la procédure PROC_radiobutton() qui permet de créer une case à option.

Voir la fonction FN_isdlgitemchecked() qui retourne l'état actuel d'une case à cocher.



La procédure PROC_checkdlgitem() 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 )

PROC_registerdlgcallback( DLG_Test, FN_Choix() ) 


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 --- Fonction de rappel de la boite de dialogue DLG_Test ---

DEF FN_Choix( Qboite , Qtouche )


REM --- Choix aleatoire d'une case à cocher ---

CASE RND( 6 ) OF

WHEN 1 : kcontrole = 101

WHEN 2 : kcontrole = 102

WHEN 3 : kcontrole = 103

WHEN 4 : kcontrole = 201

WHEN 5 : kcontrole = 202

WHEN 6 : kcontrole = 203

OTHERWISE : = 0

ENDCASE


REM --- Gestion des cases à choix ---

IF kcontrole > 200 THEN 

FOR kcase = 201 TO 203 : PROC_checkdlgitem( Qboite , kcase , FALSE ) : NEXT kcase

ketat = TRUE

ELSE

IF  FN_isdlgitemchecked( DLG_Test , kcontrole ) THEN ketat = FALSE ELSE ketat = TRUE

ENDIF


REM --- Modification de l'état de la choix tiree au sort ---

PROC_checkdlgitem( Qboite , kcontrole , ketat )

PROC_refreshdialog( Qboite )

= 0

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