⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
FN_polldialog()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ dlglib.bbc
FN_polldialog()
DESCRIPTION.
La fonction FN_polldialog() affiche, ou actualise, les controles d'une boite de dialogue directement dans la fenêtre de sortie du BBC BASIC.
SYNTAXE.
kvaleur = FN_polldialog( boite , touche , souris%() )
REMARQUES.
boite doit être l'identifiant de la boite de dialogue qui doit être affiché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.
touche doit être des nombre entier, dont la valeur correspond à celle d'une touche du clavier, retournée par l'instruction INKEY$(), INKEY(), GET$ ou GET.
souris%() doit être un tableau de données, dont les valeurs correspondent à celles retournées par le gestionnaire d'événement ON MOUSE. souris%() doit obligatoirement contenir au moins 3 nombres entiers signée 32 bits, c'est-à-dire du type %.
La fonction FN_polldialog() ne peut être invoquée que si les paramètres largeur et hauteur de la fonction FN_newdialog() valent 0.
Contrairement aux fonctions FN_showdialog() et FN_showdialogex(), qui affiche les controles dans une boite de dialogue, l'appel de la fonction FN_polldialog() n'est pas bloquante. Elle retourne immédiatement un valeur, que l'un des controles ait été activé ou pas. Il faut donc répéter son invocation dans une boucle d'instruction tant que, REPEAT ... UNTIL, pour assurer la surveillance des utilisation des controles.
L'appel de la fonction PROC_closedialog(), qui efface une boite de dialogue affichée avec l'utilisation des FN_showdialog() et FN_showdialogex()n'a pas d'effet surt les controles présents dans la fenêtre de sortie du BBC BASIC.
Note ; si le programme utilise la fonction FN_polldialog() pour afficher les controles dans la fenêtre de sortie du BBC BASIC, les paramètres abscisse, ordonnee, largeur et hauteur de création des controles doivent être exprimés en unités graphiques du BBC BASIC, et non plus en unités de boite de dialogue.
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 fonction FN_polldialog() 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 --- Declaration du tableau de donnees ---
DIM LST_Souris%( 2 )
REM --- Activation de surveillance des evenement de la souris et memoristion des donnes ---
ON MOUSE LST_Souris%() = @msg% , @wparam% , @lparam% : RETURN
REM --- Creation d'une boite de dialogue nommee DLG_Test de 160 x 60 unites intitulee Test ---
DLG_Test = FN_newdialog( "Test ..." , 0 , 0 )
REM --- Creation des controles de la boite de dialogue nommee DLG_Test ---
PROC_button( DLG_Test , "Quitter" , 1 , 600 , 100 , 180 , 130 , 0 )
PROC_static( DLG_Test , "" , 201 , 100 , 100 , 500 , 30 , 1 )
PROC_static( DLG_Test , "" , 202 , 100 , 200 , 500 , 30 , 1 )
PROC_trackbar( DLG_Test , "" , 301 , 100 , 130 , 500 , 70 , 0 )
PROC_settrackbarpos( DLG_Test , 301 , 0 , -100 , 100 )
REM --- Boucle de surveillance et de calculs ---
REPEAT
ktouche = INKEY( 10 )
kcontrole = FN_polldialog( DLG_Test , ktouche , LST_Souris%() )
kracine = FN_gettrackbarpos( DLG_Test , 301 )
kmessage$ = "Racine : " + STR$( kracine )
PROC_setdlgitemtext( DLG_Test , 201 , kmessage$ )
kcarre = kracine ^ 2
kmessage$ = "Le carre de " + STR$( kracine ) + " est " + STR$( kcarre )
PROC_setdlgitemtext( DLG_Test , 202 , kmessage$ )
PROC_refreshdialog( DLG_Test )
UNTIL kcontrole = 1
REM --- Fin du programme ---
PRINT : PRINT "Au revoir."
END
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.