⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_button()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_button()
DESCRIPTION.
La procédure PROC_button() crée nouveau bouton cliquable et le place dans sa boite de dialogue.
SYNTAXE.
PROC_button( boite , texte , identifiant , abscisse , ordonnee , largeur , hauteur , style )
REMARQUES.
boite doit être l'identifiant de la boite de dialogue qui accueillera le bouton cliquable. 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'intitulé du bouton cliquable et sera affiché dans le bouton cliquable.
identifiant doit être un nombre entier. 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. Toute sélection d'un bouton cliquable ayant un identifiant compris entre 1 et 11 provoque, normalement, la fermeture de la boite de dialogue en retournant identifiant. identifiant peut être :
- 1, pour créer un bouton Valider (#define IDOK) ;
- 2, pour créer un bouton Annuler (#define IDCANCEL) ;
- 3, pour créer un bouton Abandonner (#define IDABORT) ;
- 4, pour créer un bouton Réessayer (#define IDRETRY) ;
- 5, pour créer un bouton Ignorer (#define IDIGNORE) ;
- 6, pour créer un bouton Oui (#define IDYES ) ;
- 7, pour créer un bouton Non (#define IDNO) ;
- 8, pour créer un bouton Fermer (#define IDCLOSE) ;
- 9, pour créer un bouton Aide (#define IDHELP) ;
- 10, pour créer un bouton Recommencer (#définir IDTRAYAGAIN) ;
- 11 pour créer un bouton Continuer (#définir IDCONTINUE).
- la valeur retournée par l'association d'une fonction FN_setproc() ;
- n'importe quel nombre entier non utilisé comme identifiant dans boite
IMPORTANT ; Les identifiant 1 et 2 sont réservés respectivement aux boutons Valider (Ok) et Annuler(Cancel) et ne doivent donc être utilisés qu'à cette fin.
abscisse doit être des nombre entier, exprimé en unités de boite de dialogue, indiquant l'abscisse du bord gauche du bouton cliquable 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 du bouton cliquable 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 du bouton cliquable.
hauteur doit être un nombre entier, exprimé en unités de boite de dialogue, donnant la hauteur du bouton cliquable.
style précise le style visuel du bouton cliquable. style peut valoir :
- 0, valeur par défaut, pour afficher un bouton cliquable standard ;
- 64 (&40), affiche l'image, dont le nom de fichier a été spécifié par texte, sans afficher de rectangle autour ;
- 128 (&80), affiche l'image, dont le nom de fichier a été spécifié par texte, en affichant un rectangle autour ;
- 134217728 (&8000000), pour afficher un bouton cliquable standard grisé, désactivé ;
- 268435456 (&10000000), pour cacher le bouton cliquable ;
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 images dans un bouton cliquable grisé.
Voir la fonction FN_newdialog() qui permet de déclarer et de créer une boite de dialogue.
Voir la fonction FN_setproc() qui permet d'invoquer une procédure quand l'utilisateur sélectionne un bouton cliquable.
Voir la procédure PROC_setdlgitemtext() qui permet de modifier l'intitulé d'un bouton cliquable.
La procédure PROC_button() 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 , 35 )
REM --- Creation des controles de la boite de dialogue nommee DLG_Test ---
PROC_button( DLG_Test , "Valider." , 1 , 10 , 10 , 40 , 15 , 0 ) : REM - Bouton OK fermant la fenetre (identifiant = 1)
PROC_button( DLG_Test , "Fermer." , 8 , 60 , 10 , 40 , 15 , 0 ) : REM - Bouton CLOSE fermant la fenetre (identifiant = 8)
PROC_button( DLG_Test , "Message." , FN_setproc( PROC_Action() ) , 110 , 10 , 40 , 15 , 0 ) : REM - Bouton invoquant une procedure
REM --- Affichage de la boite de dialogue et attende des choix de l'utilisateur ---
kcontrole = FN_showdialog( DLG_Test , &FFFFFFFF80000000 , &FFFFFFFF80000000 )
REM --- Gestion de la sortie de la boite de dialogue par activation d'un des boutons de fermeture ---
CASE kcontrole OF
WHEN 1 : PRINT "Vous avez valide."
WHEN 8 : PRINT "Vous avez annule."
ENDCASE
REM --- Fermeture de la boite de dialogue ---
PROC_closedialog( DLG_Test )
REM --- Fin du programme ---
END
REM --- DEFINITION DES METHODES PERSONNALISEES ---
REM --- Procedures d'appel de la boite de dialogue DLG_Test ---
DEF PROC_Action( Qboite , Qbouton ) : PRINT "Bonjour le monde ..." : 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.