4D v16.3

OBJECT SET EVENTS

Accueil

 
4D v16.3
OBJECT SET EVENTS

OBJECT SET EVENTS 


 

OBJECT SET EVENTS ( {* ;} objet ; tabEvénements ; mode ) 
Paramètre Type   Description
Opérateur in Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est un champ ou une variable
objet  Objet de formulaire in Nom d'objet ou "" pour désigner le formulaire (si * est spécifié) ou Champ ou variable (si * est omis)
tabEvénements  Tableau entier long in Tableau d’événements à définir
mode  Entier long in Mode d’activation des événements définis dans tabEvénements

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 CALL PROCESS
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.

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

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

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

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

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

 
PROPRIÉTÉS 

Produit : 4D
Thème : Objets (Formulaires)
Numéro : 1239

 
HISTORIQUE 

Créé : 4D v14

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)