⇨ MENU ⇨ BIBLIOTHEQUE ⇨ eventlib.bbc
PROC_eventinit()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ eventlib.bbc
PROC_eventinit()
DESCRIPTION.
La procédure PROC_eventinit permet d'initialiser la gestion sérialisée des gestions d'événements.
SYNTAXE.
PROC_eventinit
REMARQUES.
La procédure PROC_eventinit va initialiser le module et configurer une file d'attente de type FIFO (premier entré, premier sorti) de 32 événements.
IMPORTANT : la procédure PROC_eventinit peut être appelée plusieurs fois, ainsi, dans un programme modulaire, chaque section de code nécessitant la réception de notifications d'événements peut l'appeler indépendamment.
Rappel : Le module eventlib permet de transmettre une interruption du programme faite par une des gestionnaires d'événements les événements ON MOUSE, ON MOVE, ON SYS et/ou ON TIME à plusieurs procédures ou fonctions personnalisées pour sa gestion, de manière sérialisée et synchrone.
Ceci permet de résoudre des problèmes liés aux appels réentrants dû aux gestionnaires d'événements, qui peuvent entrainer leur exécution hors séquence, et à la diffusion de l'événement à plusieurs plusieurs procédures ou fonctions personnalisées qui pourraient en avoir besoin.
Note : le gestionnaire d'événement ON CLOSE n'est pas pris en compte par le module eventlib.
La procédure PROC_eventinit est importée depuis la module eventlib.bbc.
EXEMPLE.
RREM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "eventlib.bbc"
REM --- INITIALISISATION GENERALE ---
REM --- Definition du gestionnaire d'evenements ---
PROC_eventinit
PROC_eventregister( &201 , PROC_Test() ) : REM &201 valeur correspondante à la commande WM_LBUTTONDOWN
PROC_eventregister( &204 , PROC_Test() ) : REM &204 valeur correspondante à la commande WM_RBUTTONDOWN
PROC_eventregister( &207 , PROC_Test() ) : REM &205 valeur correspondante à la commande WM_MBUTTONDOWN
REM --- Boucle principale ---
PRINT "Appuyez sur un bouton de la souris ou sur la touche Q pour quitter."
REPEAT
PROC_eventpoll : REM interroge la file des evenements et execute une procédure personnalises si besoin
kpause$ = INKEY$( 5 )
UNTIL kpause$ = "Q" OR kpause$ = "q"
REM --- Fin du programme ---
PRINT : PRINT "Au revoir."
END
REM --- DEFINITION DES PROCEDURES PERSONNALISEES ---
REM --- Gestionnaire d'evenement des boutons ---
DEF PROC_Test( Qm , Qw , Ql )
CASE Qm OF
WHEN 513 : kbouton$ = "gauche"
WHEN 516 : kbouton$ = "droit"
WHEN 519 : kbouton$ = "central"
OTHERWISE : kbouton$ = "non identifie"
ENDCASE
kabscisse = Ql AND &FFFF
kabscisse = ( Ql >> 16 ) AND &FFFF
PRINT TAB( 0 , 2 ) "Le bouton " ; kbouton$ ; " a ete enclenche. "
PRINT "Coordonnees du pointeur : " ; kabscisse ; "," ; kabscisse ; " "
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.