Aller au contenu principal
Version: Next

OBJECT SET EVENTS

OBJECT SET EVENTS ( {* ;} objet ; tabEvénements ; mode )

ParamètreTypeDescription
*OpérateurSi spécifié, objet est un nom d'objet (chaîne)
Si omis, objet est un champ ou une variable
objetanyNom d'objet ou "" pour désigner le formulaire (si * est spécifié) ou
Champ ou variable (si * est omis)
tabEvénementsInteger arrayTableau d’événements à définir
modeIntegerMode d’activation des événements définis dans tabEvénements

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande OBJECT SET EVENTS vous permet de modifier, pour le process courant, la configuration des événements formulaire du formulaire, de l’objet ou des objets désigné(s) par les paramètres objet et *.

Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d’objet (une chaîne). Si vous ne passez pas le paramètre, vous indiquez que le paramètre objet est un champ ou une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de champ ou de variable (champ ou variable objet uniquement).
Pour définir la configuration des événements du formulaire lui-même, passez le paramètre optionnel * et une chaîne vide "" dans objet : dans ce cas, vous désignez le formulaire courant.

Note : Si vous souhaitez modifier les événements d’un sous-formulaire lié à une table, seule la syntaxe basée sur le nom d’objet peut être utilisée.

Passez dans le paramètre tabEvénements un tableau Entier long contenant la liste des événements formulaire prédéfinis ou personnalisés que vous souhaitez modifier (le paramètre mode permet de préciser si la modification consiste à activer ou désactiver les événements). Pour désigner un événement prédéfini à modifier, vous pouvez passer dans chaque élément du tableau tabEvénements une des constantes suivantes, placées dans le thème "Evénements formulaire" :

ConstanteTypeValeurComment
On ActivateEntier long11La fenêtre du formulaire passe au premier plan
On After EditEntier long45Le contenu de l'objet saisissable qui a le focus vient d'être modifié
On After KeystrokeEntier long28Un caractère vient d'être saisi dans l'objet qui a le focus. Get edited text retourne le contenu avec ce caractère.
On After SortEntier long30(List box uniquement) Un tri standard vient d'être effectué dans une colonne de list box
On Arrow ClickEntier long38(Boutons 3D uniquement) La zone “flèche” d'un bouton 3D reçoit un clic
On Before Data EntryEntier long41(List box uniquement) Une cellule de list box est sur le point de passer en mode édition
On Before KeystrokeEntier long17Un caractère vient d'être saisi dans l'objet qui a le focus. Get edited text retourne le contenu sans ce caractère
On Begin Drag OverEntier long46Un objet est en cours de glisser
On Begin URL LoadingEntier long47(Zones Web uniquement) Un nouvel URL est chargé dans la zone Web
On bound variable changeEntier long54La variable liée à un sous-formulaire est modifiée.
On ClickedEntier long4Un clic est survenu sur un objet
On Close BoxEntier long22On a cliqué sur la case de fermeture de la fenêtre
On Close DetailEntier long26Le formulaire détaillé se referme et on retourne au formulaire sortie
On CollapseEntier long44(Listes hiérarchiques et list box hiérarchiques) Un élément de liste hiérarchique ou de list box hiérarchique a été contracté via un clic ou une touche du clavier
On Column MovedEntier long32(List box uniquement) Une colonne de list box est déplacée par l’utilisateur via le glisser-déposer
On Column ResizeEntier long33(List box uniquement) La largeur d’une colonne de list box est modifiée par l’utilisateur via la souris
On Data ChangeEntier long20Les données d'un objet ont été modifiées
On DeactivateEntier long12La fenêtre du formulaire passe en arrière-plan
On Delete ActionEntier long58(Listes hiérarchiques et List box) L’utilisateur a demandé à supprimer un élément
On Display DetailEntier long8Un enregistrement va être affiché dans la liste ou une ligne va être affichée dans la list box
On Double ClickedEntier long13Un double-clic est survenu sur un objet
On Drag OverEntier long21Des données sont glissées sur un objet
On DropEntier long16Des données sont déposées sur un objet
On End URL LoadingEntier long49(Zones Web uniquement) Toutes les ressources de l'URL ont été chargées
On ExpandEntier long43(Listes hiérarchiques et List box hiérarchiques) Un élément de liste hiérarchique ou de list box hiérarchique a été déployé via un clic ou une touche du clavier
On Footer ClickEntier long57(List box uniquement) Un clic est survenu dans le pied d’une list box ou d’une colonne de list box
On Getting FocusEntier long15Un objet de formulaire prend le focus
On HeaderEntier long5L'en-tête du formulaire va être imprimé ou affiché
On Header ClickEntier long42(List box uniquement) Un clic est survenu dans l’en-tête d’une colonne de list box
On Load RecordEntier long40En mode saisie en liste, un enregistrement est chargé en modification (l’utilisateur a cliqué sur la ligne de l’enregistrement et un champ passe en édition)
On Long ClickEntier long39(Boutons 3D uniquement) Un bouton 3D reçoit un clic et le bouton de la souris reste enfoncé pendant un certain laps de temps
On Losing FocusEntier long14Un objet de formulaire perd le focus
On Mac toolbar buttonEntier long55L’utilisateur a cliqué sur le bouton de gestion de la barre d’outils sous Mac OS
On Menu SelectedEntier long18Une commande de menu a été sélectionnée
On Mouse EnterEntier long35Le curseur de la souris entre dans la zone graphique d’un objet
On Mouse LeaveEntier long36Le curseur de la souris sort de la zone graphique d’un objet
On Mouse MoveEntier long37Le curseur de la souris a bougé d’au moins un pixel OU une touche de modification (Ctrl, Alt, Verr Maj.) a été enfoncée. Si l'événement est coché pour un objet uniquement, il n'est généré que lorsque le curseur se trouve dans la zone graphique de l'objet
On Open DetailEntier long25Le formulaire détaillé associé au formulaire sortie ou à la listbox est sur le point d'être ouvert
On Open External LinkEntier long52(Zones Web uniquement) Un URL externe a été ouvert dans le navigateur
On Outside CallEntier long10Le formulaire a reçu un appel de la commande POST OUTSIDE CALL
On Picture ScrollEntier long59Variables ou champs image et List Box : L'utilisateur fait défiler le contenu du champ image, de la variable image ou de la list box à l'aide de la souris ou d'une touche du clavier.
On Plug in AreaEntier long19Un plug-in demande que sa méthode objet soit exécutée
On Printing BreakEntier long6Une rupture du formulaire va être imprimée
On Printing DetailEntier long23Le corps du formulaire va être imprimé
On Printing FooterEntier long7Le pied de page du formulaire va être imprimé
On ResizeEntier long29La fenêtre du formulaire est redimensionnée
On Row MovedEntier long34(List box uniquement) Une ligne de list box est déplacée par l’utilisateur via le glisser-déposer
On Selection ChangeEntier long31List box : la sélection courante de lignes ou de colonnes est modifiée Enregistrements en liste : l’enregistrement courant ou la sélection courante de lignes est modifié(e) dans un formulaire en liste ou un sous-formulaire Liste hiérarchique : la sélection dans la liste est modifiée à la suite d’un clic ou de la frappe d’une touche au clavier Variable ou champ saisissable : la sélection de texte ou la position du curseur dans la zone est modifiée à la suite d’un clic ou de la frappe d’une touche au clavier
On TimerEntier long27Le nombre de ticks défini par SET TIMER est atteint
On UnloadEntier long24Le formulaire se referme et est déchargé
On URL FilteringEntier long51(Zones Web uniquement) Un URL a été bloqué par la zone Web
On URL Loading ErrorEntier long50(Zones Web uniquement) Une erreur s'est produite durant le chargement de l'URL
On URL Resource LoadingEntier long48(Zones Web uniquement) Une nouvelle ressource est chargée dans la zone Web
On ValidateEntier long3La saisie des données dans l'enregistrement est validée
On Window Opening DeniedEntier long53(Zones Web uniquement) Une fenêtre pop up a été bloquée

Il est important de noter que l’événement On Load est absent de cette liste : il ne peut pas être défini, car lors de l’exécution de la commande il a déjà été généré.

Vous pouvez également passer dans tabEvénements toute valeur correspondant à un événement personnalisé. Dans ce cas, il est recommandé d’utiliser des valeurs négatives (cf. commande CALL SUBFORM CONTAINER).

Le paramètre mode vous permet de définir le traitement global à effectuer pour les éléments du tableau. Pour cela, vous pouvez passer une des constantes suivantes, placées dans le thème "Objets de formulaire (Propriétés)" :

ConstanteTypeValeurComment
Disable events others unchangedEntier long2Tous les événements listés dans le tableau tabEvénements sont désactivés, le statut des autres événements est inchangé
Enable events disable othersEntier long0Tous les événements listés dans le tableau tabEvénements sont activés, tous les autres événements sont désactivés
Enable events others unchangedEntier long1Tous les événements listés dans le tableau tabEvénements sont activés, le statut des autres événements est inchangé

La commande OBJECT SET EVENTS peut entraîner l’activation d’événements non pris en charge par l’objet (en fonction de son type). Dans ce cas, les événements seront simplement ignorés.

Si un objet est dupliqué après l’appel de la commande OBJECT SET EVENTS, la configuration résultante d’activation/désactivation de chaque événement est également dupliquée.

Exemple 1

Activation de trois événements formulaire pour un ensemble d’objets list box, et désactivation des autres événements :

 ARRAY LONGINT($MyEventsOnLB;3)
 $MyEventsOnLB {1}:=On After Sort
 $MyEventsOnLB {2}:=On Column Moved
 $MyEventsOnLB {3}:=On Column Resize
 OBJECT SET EVENTS(*;"MesLB@";$MyEventsOnLB;Enable events disable others)
      // active 3 événements et désactive tous les autres

Exemple 2

Désactivation de trois événements formulaire pour un ensemble d’objets list box, sans modifier les autres événements :

 ARRAY LONGINT($MyEventsOnLB;3)
 $MyEventsOnLB {1}:=On After Sort
 $MyEventsOnLB {2}:=On Column Moved
 $MyEventsOnLB {3}:=On Column Resize
 OBJECT SET EVENTS(*;"MesLB@";$MyEventsOnLB;Disable events others unchanged)
     // désactive uniquement les 3 événements

Exemple 3

Activation d’un événement formulaire pour un objet, sans modifier les autres événements :

 ARRAY LONGINT($MyEventsOnLB;1)
 $MyEventsOnLB {1}:=On Column Moved
 OBJECT SET EVENTS(*;"Col1";$MyEventsOnLB;Enable events others unchanged)
     // active uniquement l’événement

Exemple 4

Désactivation de tous les événements du formulaire :

 ARRAY LONGINT($MyFormEvents;0)
 OBJECT SET EVENTS(*;"";$MyFormEvents;Enable events disable others)
     // désactive tous les événements

Exemple 5

Désactivation d’un seul événement du formulaire sans modifier les autres :

 ARRAY LONGINT($MyFormEvents;1)
 $MyFormEvents{1}:=On Timer
 OBJECT SET EVENTS(*;"";$MyFormEvents;Disable events others unchanged)
     // désactive uniquement l’événement

Voir aussi

Evénements formulaire
OBJECT GET EVENTS