⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_refreshdialog()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
PROC_refreshdialog()
DESCRIPTION.
La procédure PROC_refreshdialog() affiche les modifications des controles d'une boite de dialogue.
SYNTAXE.
PROC_refreshdialog( boite )
REMARQUES.
boite doit être l'identifiant de la boite de dialogue qui à laquelle la fonction de rappelle est associée. 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.
Un fois affichée, une boite de dialogue attend, le plus souvent des actions de l'utilisateur sur ses controles, en modifiant, la plupart du temps, leur contenu. Mais le programme peut aussi mmodifer le contenu des controles en fonctions des actions de l'utilisateur ou des gestionnaires d'événements tel que ON MOUSE, ON ERREUR, ON TIME, ... Ces modifications ne seront pas visibles dans la boite de dialogue tant que la procédure PROC_refreshdialog ne l'aura pas mise à jour.
La procédure PROC_registerdlgcallback() permet d'associer une fonction de surveillance à une boite de dialogue. Cette fonction sera invoquée a intervalles régulier et chaque fois qu'une touche du clavier sera perçues durant toute la durée d'affichage de boite, pour, par exemple mettre à jour le contenu des ses controles.
Voir la fonction FN_newdialog() qui permet de déclarer et de créer une boite de dialogue.
Voir la procédure FN_showdialog() qui permet d'afficher une boite de dialogue sans modifier son style visuel.
Voir la procédure FN_showdialogex() qui permet d'afficher une boite de dialogue en modifiant son style visuel.
La procédure PROC_registerdlgcallback() 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 ..." , 120 , 60 )
PROC_registerdlgcallback( DLG_Test, FN_Event() )
REM --- Creation des controles de la boite de dialogue ---
PROC_button( DLG_Test , "Fermer." , 8 , 40 , 35 , 40 , 15 , 0 )
PROC_static( DLG_Test , "Appuyez sur une touche ... " , 101 , 10 , 10 , 100 , 15 , 1 )
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_Event( Qboite , Qaction )
IF Qaction < 1 THEN = 0
PRINT TAB( 0 , 1 ) "boite de dialogue : " ; Qboite
PRINT TAB( 0 , 2 ) "Code de la touche : " ; Qaction ; " "
PRINT TAB( 0 , 3 ) "Symbole de la touche : " ; CHR$( Qaction ) ; " "
= 0
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.