OBJECT SET EVENTS
OBJECT SET EVENTS ( {* ;} objet ; tabEvénements ; mode )
Paramètre | Type | Description | |
---|---|---|---|
* | Opérateur | → | Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est un champ ou une variable |
objet | any | → | Nom d'objet ou "" pour désigner le formulaire (si * est spécifié) ou Champ ou variable (si * est omis) |
tabEvénements | Integer array | → | Tableau d’événements à définir |
mode | Integer | → | Mode 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" :
Constante | Type | Valeur | Comment |
---|---|---|---|
On Activate | Entier long | 11 | La fenêtre du formulaire passe au premier plan |
On After Edit | Entier long | 45 | Le contenu de l'objet saisissable qui a le focus vient d'être modifié |
On After Keystroke | Entier long | 28 | Un 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 Sort | Entier long | 30 | (List box uniquement) Un tri standard vient d'être effectué dans une colonne de list box |
On Arrow Click | Entier long | 38 | (Boutons 3D uniquement) La zone “flèche” d'un bouton 3D reçoit un clic |
On Before Data Entry | Entier long | 41 | (List box uniquement) Une cellule de list box est sur le point de passer en mode édition |
On Before Keystroke | Entier long | 17 | Un 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 Over | Entier long | 46 | Un objet est en cours de glisser |
On Begin URL Loading | Entier long | 47 | (Zones Web uniquement) Un nouvel URL est chargé dans la zone Web |
On bound variable change | Entier long | 54 | La variable liée à un sous-formulaire est modifiée. |
On Clicked | Entier long | 4 | Un clic est survenu sur un objet |
On Close Box | Entier long | 22 | On a cliqué sur la case de fermeture de la fenêtre |
On Close Detail | Entier long | 26 | Le formulaire détaillé se referme et on retourne au formulaire sortie |
On Collapse | Entier long | 44 | (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 Moved | Entier long | 32 | (List box uniquement) Une colonne de list box est déplacée par l’utilisateur via le glisser-déposer |
On Column Resize | Entier long | 33 | (List box uniquement) La largeur d’une colonne de list box est modifiée par l’utilisateur via la souris |
On Data Change | Entier long | 20 | Les données d'un objet ont été modifiées |
On Deactivate | Entier long | 12 | La fenêtre du formulaire passe en arrière-plan |
On Delete Action | Entier long | 58 | (Listes hiérarchiques et List box) L’utilisateur a demandé à supprimer un élément |
On Display Detail | Entier long | 8 | Un enregistrement va être affiché dans la liste ou une ligne va être affichée dans la list box |
On Double Clicked | Entier long | 13 | Un double-clic est survenu sur un objet |
On Drag Over | Entier long | 21 | Des données sont glissées sur un objet |
On Drop | Entier long | 16 | Des données sont déposées sur un objet |
On End URL Loading | Entier long | 49 | (Zones Web uniquement) Toutes les ressources de l'URL ont été chargées |
On Expand | Entier long | 43 | (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 Click | Entier long | 57 | (List box uniquement) Un clic est survenu dans le pied d’une list box ou d’une colonne de list box |
On Getting Focus | Entier long | 15 | Un objet de formulaire prend le focus |
On Header | Entier long | 5 | L'en-tête du formulaire va être imprimé ou affiché |
On Header Click | Entier long | 42 | (List box uniquement) Un clic est survenu dans l’en-tête d’une colonne de list box |
On Load Record | Entier long | 40 | En 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 Click | Entier long | 39 | (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 Focus | Entier long | 14 | Un objet de formulaire perd le focus |
On Mac toolbar button | Entier long | 55 | L’utilisateur a cliqué sur le bouton de gestion de la barre d’outils sous Mac OS |
On Menu Selected | Entier long | 18 | Une commande de menu a été sélectionnée |
On Mouse Enter | Entier long | 35 | Le curseur de la souris entre dans la zone graphique d’un objet |
On Mouse Leave | Entier long | 36 | Le curseur de la souris sort de la zone graphique d’un objet |
On Mouse Move | Entier long | 37 | Le 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 Detail | Entier long | 25 | Le formulaire détaillé associé au formulaire sortie ou à la listbox est sur le point d'être ouvert |
On Open External Link | Entier long | 52 | (Zones Web uniquement) Un URL externe a été ouvert dans le navigateur |
On Outside Call | Entier long | 10 | Le formulaire a reçu un appel de la commande POST OUTSIDE CALL |
On Picture Scroll | Entier long | 59 | Variables 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 Area | Entier long | 19 | Un plug-in demande que sa méthode objet soit exécutée |
On Printing Break | Entier long | 6 | Une rupture du formulaire va être imprimée |
On Printing Detail | Entier long | 23 | Le corps du formulaire va être imprimé |
On Printing Footer | Entier long | 7 | Le pied de page du formulaire va être imprimé |
On Resize | Entier long | 29 | La fenêtre du formulaire est redimensionnée |
On Row Moved | Entier long | 34 | (List box uniquement) Une ligne de list box est déplacée par l’utilisateur via le glisser-déposer |
On Selection Change | Entier long | 31 | List 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 Timer | Entier long | 27 | Le nombre de ticks défini par SET TIMER est atteint |
On Unload | Entier long | 24 | Le formulaire se referme et est déchargé |
On URL Filtering | Entier long | 51 | (Zones Web uniquement) Un URL a été bloqué par la zone Web |
On URL Loading Error | Entier long | 50 | (Zones Web uniquement) Une erreur s'est produite durant le chargement de l'URL |
On URL Resource Loading | Entier long | 48 | (Zones Web uniquement) Une nouvelle ressource est chargée dans la zone Web |
On Validate | Entier long | 3 | La saisie des données dans l'enregistrement est validée |
On Window Opening Denied | Entier long | 53 | (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)" :
Constante | Type | Valeur | Comment |
---|---|---|---|
Disable events others unchanged | Entier long | 2 | Tous 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 others | Entier long | 0 | Tous 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 unchanged | Entier long | 1 | Tous 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