Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
APPELER SUR EVENEMENT
|
APPELER SUR EVENEMENT ( méthodeEvén {; nomProcess} ) | ||||||||
Paramètre | Type | Description | ||||||
méthodeEvén | Chaîne |
![]() |
Méthode d'événement à appeler ou Chaîne vide pour arrêter l'interception des événements | |||||
nomProcess | Chaîne |
![]() |
Nom de process | |||||
APPELER SUR EVENEMENT installe la méthode dont le nom est passé dans méthodeEvén comme méthode de gestion des événements.
Conseil : Cette commande nécessite un niveau de connaissances avancé en programmation. Généralement, vous n'avez pas besoin d'appeler APPELER SUR EVENEMENT pour traiter les événements. Lorsque vous utilisez des formulaires, 4D gère pour vous les événements et les retourne aux formulaires et objets appropriés.
Astuce : Les commandes telles que POSITION SOURIS, Majuscule enfoncee, etc., permettent de récupérer des informations sur les événements. Ces commandes, dans une certaine mesure, peuvent être appelées depuis les méthodes objet pour traiter les informations dont vous avez besoin. Elles peuvent ainsi vous épargner l'écriture d'un algorithme basé sur une structure du type APPELER SUR EVENEMENT.
La portée de cette commande est la session de travail. Par défaut, la méthode est exécutée dans un process local séparé. Vous ne pouvez avoir qu'une méthode de gestion d'événement à la fois. Pour désinstaller une méthode de gestion d'événement, appelez de nouveau APPELER SUR EVENEMENT et passez une chaîne vide dans méthodeEvén.
Comme la méthode de gestion d'événement tourne dans process séparé, méthodeEvén est toujours active, même si aucune méthode 4D n'est en cours d'exécution. Après l'installation, 4D appelle la méthode méthodeEvén dès qu'un événement survient. Un événement peut être un clic souris ou la frappe d'une touche.
Le paramètre optionnel nomProcess permet de donner un nom au process créé par APPELER SUR EVENEMENT. Si nomProcess commence par le symbole dollar ($), nomProcess est un process local, ce dont vous aurez généralement besoin. Si vous ne passez pas le paramètre nomProcess, 4D crée par défaut un process local nommé $Gestionnaire d'événement.
ATTENTION : Soyez prudent lors de l'écriture d'une méthode de gestion d'événement. N'appelez pas de commande générant un événement, sinon vous risquez de ne plus pouvoir sortir de la méthode. La combinaison de touches Ctrl+Maj+Retour Arrière (sous Windows) ou Commande+Maj+Control+Retour Arrière (sous Mac) permet de tuer le process d'événement. Cette combinaison vous permet de sortir d'une méthode de gestion d'événement devenue incontrôlable.
Dans la méthode de gestion d'événement, vous pouvez lire les variables système suivantes : MouseDown, KeyCode, Modifiers, MouseX, MouseY et MouseProc. Notez que ces variables sont des variables process. Leur portée est donc le process de gestion d'événements. Copiez-les dans des variables interprocess si vous souhaitez que leurs valeurs soient disponibles dans un autre process.
Plate-forme | Modifiers |
Windows | Maj, Verrouillage des majuscules, Alt, Ctrl |
Macintosh | Maj, Verrouillage des majuscules, Alt (ou Option), Ctrl, Commande |
Si(Modifiers?? Bit touche majuscule) //Si la touche Majuscule était enfoncée
Si((Modifiers&Masque touche majuscule)#0) //Si la touche Majuscule était enfoncée
Modifier | Constante |
Majuscule | Bit touche majuscule / Masque touche majuscule |
Verr. majuscule | Bit touche verrouillage maj / Masque touche verrouillage maj |
Alt (aussi appelée Option sous OS X) | Bit touche option / Masque touche option |
Ctrl sous Windows | Bit touche commande / Masque touche commande |
Ctrl sous OS X | Bit touche contrôle / Masque touche contrôle |
Commande sous OS X | Bit touche commande / Masque touche commande |
Clic droit | Bit touche contrôle / Masque touche contrôle |
Note : Les variables système MouseDown, KeyCode, Modifiers, MouseX, MouseY et MouseProc ne contiennent des valeurs significatives que dans une méthode de gestion d'événement installée par APPELER SUR EVENEMENT.
L'exemple suivant annule l'impression si l'utilisateur appuie sur les touches Ctrl+. (Commande+. sous Mac OS). En premier lieu, la méthode de gestion des événements est installée. Ensuite, un message s'affiche, indiquant que l'impression a été annulée. Si la variable interprocess ◊vbOnStoppe est égale à Vrai dans la méthode de gestion d'événement, une boîte de dialogue d'alerte s'affiche pour indiquer à l'utilisateur le nombre d'enregistrements qui viennent de s'imprimer. Enfin, la méthode de gestion d'événement est désinstallée :
UTILISER PARAMETRES IMPRESSION
Si(OK=1)
◊vbOnStoppe:=Faux
APPELER SUR EVENEMENT("GESTION EVENEMENTS")
TOUT SELECTIONNER([Personnes])
MESSAGE("Pour interrompre l'impression, appuyez sur Ctrl+point.")
$NbEnregistrements:=Enregistrements trouves([Personnes])
Boucle($Enrg;1;$NbEnregistrements)
Si(◊vbOnStoppe)
ALERTE("L'impression a été annulée à l'enregistrement "+Chaine($Enrg)+" sur "+Chaine($NbEnregistrements))
$Enrg:=$NbEnregistrements+1
Sinon
Imprimer ligne([Personnes];"Etat")
Fin de si
Fin de boucle
SAUT DE PAGE
APPELER SUR EVENEMENT("") ` Désinstallation de la méthode d'appel sur événement
Fin de si
La méthode de gestion d'événement teste si la combinaison de touches Ctrl+. (Commande+.) a été employée et met la variable interprocess ◊vbOnStoppe à Vrai :
` Méthode projet GESTION EVENEMENTS
Si((Modifiers?? Bit touche commande) & (KeyCode=Point))
CONFIRMER("Voulez-vous vraiment annuler l'impression ?")
Si(OK=1)
◊vbOnStoppe:=Vrai
FILTRER EVENEMENT ` N'oubliez pas cet appel sinon 4D traitera aussi cet événement
Fin de si
Fin de si
Notez que APPELER SUR EVENEMENT est utilisé dans cet exemple car un état spécial est imprimé à l'aide des commandes _o_UTILISER PARAMETRES IMPRESSION, Imprimer ligne et SAUT DE PAGE dans une structure de type TABLEAU VERS LISTE.
Lorsque vous imprimez un état à l'aide la commande IMPRIMER SELECTION, vous n'avez pas besoin de gérer les événements permettant à l'utilisateur d'interrompre l'impression, IMPRIMER SELECTION le fait pour vous.
FILTRER EVENEMENT
Majuscule enfoncee
Methode appelee sur evenement
POSITION SOURIS
Produit : 4D
Thème : Interruptions
Numéro :
190
Nom intl. : ON EVENT CALL
Créé : < 4D v6
4D - Langage ( 4D v20 R7)