Aller au contenu principal
Version: 20 R5 BETA

Evénements formulaire

Les événements formulaire sont des événements qui peuvent conduire à l'exécution de la méthode de formulaire et/ou de la ou des méthodes objet de formulaire. Les événements de formulaire vous permettent de contrôler le flux de votre application et d'écrire du code qui n'est exécuté que lorsqu'un événement spécifique se produit.

In your code, you control the events using the FORM Event command, that returns the triggered event. Par exemple :

//code d'un bouton
If(FORM Event.code=On Clicked)
// faire quelque chose quand on clique sur le bouton
End if

Chaque formulaire et chaque objet actif du formulaire peut lire un ensemble prédéfini d'événements, mais seuls les événements que vous avez activés au niveau du formulaire et/ou à chaque niveau d'objet se produiront réellement.

Objet événement

Each event is returned as an object by the FORM Event command. Par défaut, il contient les propriétés suivantes :

PropriétéTypeDescription
objectNametextName of the object triggering the event - Not included if the event is triggered by the form
codeentier longNumeric value of the form event. Also returned by the Form event code command
DescriptiontextName of the form event (e.g. "On After Edit")

Des propriétés supplémentaires sont retournées lorsque l'événement se produit sur des objets spécifiques. En particulier :

Événements et méthodes

Lorsqu'un événement formulaire se produit, 4D effectue les actions suivantes :

  • Tout d'abord, il parcourt les objets du formulaire et appelle la méthode objet pour tout objet (associé à l'événement) dont la propriété d'événement d'objet correspondante a été sélectionnée.
  • Deuxièmement, il appelle la méthode formulaire si la propriété d'événement formulaire correspondante a été sélectionnée.

Ne supposez pas que les méthodes objet, le cas échéant, seront appelées dans un ordre particulier. La règle d'or est que les méthodes objet sont toujours appelées avant la méthode formulaire. Si un objet est un sous-formulaire, les méthodes objet du formulaire liste du sous-formulaire sont appelées, suivie de la méthode formulaire du formulaire liste. 4D continue alors d'appeler les méthodes objet du formulaire parent. En d'autres termes, lorsqu'un objet est un sous-formulaire, 4D utilise la même règle pour les méthodes objet et formulaire au sein de l'objet sous-formulaire.

Except for the On Load and On Unload events (see below), if the form event property is not selected for a given event, this does not prevent calls to object methods for the objects whose same event property is selected. En d'autres termes, l'activation ou la désactivation d'un événement au niveau du formulaire n'a aucun effet sur les propriétés d'événement de l'objet.

Le nombre d'objets associés à un événement dépend de la nature de l'événement.

Tableau des appels

Le tableau suivant résume la manière dont les méthodes objet et formulaire sont appelées pour chaque type d'événement :

EvénementMéthode objetMéthode formulaireObjets
On LoadOuiOuiTous les objets
On UnloadOuiOuiTous les objets
Sur validationOuiOuiTous les objets
On ClickedOuiOuiObjets concernés uniquement
On Double ClickedOuiOuiObjets concernés uniquement
On Before KeystrokeOuiOuiObjets concernés uniquement
On After KeystrokeOuiOuiObjets concernés uniquement
On After EditOuiOuiObjets concernés uniquement
On Getting FocusOuiOuiObjets concernés uniquement
On Losing FocusOuiOuiObjets concernés uniquement
Sur activationJamaisOuiAucun
On DeactivateJamaisOuiAucun
Sur appel extérieurJamaisOuiAucun
Sur changement pageJamaisOuiAucun
On Begin Drag OverOuiOuiObjets concernés uniquement
On DropOuiOuiObjets concernés uniquement
On Drag OverOuiJamaisObjets concernés uniquement
On Mouse EnterOuiOuiTous les objets
On Mouse MoveOuiOuiTous les objets
On Mouse LeaveOuiOuiTous les objets
On Mouse UpOuiJamaisObjets concernés uniquement
Sur menu sélectionnéJamaisOuiAucun
On Bound variable changeJamaisOuiAucun
On Data ChangeOuiOuiObjets concernés uniquement
Sur appel zone du plug inOuiOuiObjets concernés uniquement
Sur entêteOuiOuiTous les objets
On Printing DetailOuiOuiTous les objets
On Printing BreakOuiOuiTous les objets
On Printing FooterOuiOuiTous les objets
On Close BoxJamaisOuiAucun
On Display DetailOuiOuiTous les objets
On Open DetailOui (List box)OuiAucun, excepté les List box
On Close DetailOui (List box)OuiAucun, excepté les List box
Sur redimensionnementJamaisOuiAucun
On Selection ChangeOuiOuiObjets concernés uniquement
Sur chargement ligneJamaisOuiAucun
Sur minuteurJamaisOuiAucun
On ScrollOuiJamaisObjets concernés uniquement
On Before Data EntryOui (List box)JamaisObjets concernés uniquement
On Column MovedOui (List box)JamaisObjets concernés uniquement
On Row MovedOui (List box)JamaisObjets concernés uniquement
On Column ResizeOui (List box et Zone 4D View Pro)JamaisObjets concernés uniquement
On Header ClickOui (List box et Zone 4D View Pro)JamaisObjets concernés uniquement
On Footer ClickOui (List box)JamaisObjets concernés uniquement
On After SortOui (List box)JamaisObjets concernés uniquement
Sur clic longOui (Bouton)OuiObjets concernés uniquement
On Alternative ClickOui (Bouton et List box)JamaisObjets concernés uniquement
On ExpandOui (Liste hiérar. et list box)JamaisObjets concernés uniquement
On CollapseOui (Liste hiérar. et list box)JamaisObjets concernés uniquement
On Delete ActionOui (Liste hiérar. et list box)JamaisObjets concernés uniquement
On URL Resource LoadingOui (Zone Web)JamaisObjets concernés uniquement
On Begin URL LoadingOui (Zone Web)JamaisObjets concernés uniquement
On URL Loading ErrorOui (Zone Web)JamaisObjets concernés uniquement
On URL FilteringOui (Zone Web)JamaisObjets concernés uniquement
On End URL LoadingOui (Zone Web)JamaisObjets concernés uniquement
On Open External LinkOui (Zone Web)JamaisObjets concernés uniquement
On Window Opening DeniedOui (Zone Web)JamaisObjets concernés uniquement
On VP Range ChangedOui (4D View Pro Area)JamaisObjets concernés uniquement
On VP ReadyOui (4D View Pro Area)JamaisObjets concernés uniquement
On Row ResizeOui (4D View Pro Area)JamaisObjets concernés uniquement

Gardez toujours à l'esprit que, pour tout événement, la méthode d'un formulaire ou d'un objet est appelée si la propriété d'événement correspondante est sélectionnée pour le formulaire ou les objets. L'avantage de la désactivation des événements dans l'environnement de développement (à l'aide de la liste des propriétés de l'éditeur de formulaires) est la réduction du nombre d'appels vers des méthodes et par conséquent l'optimisation de la vitesse d'exécution de vos formulaires.

WARNING: The On Load and On Unload events are generated for objects if they are enabled for both the objects and the form to which the objects belong. Si les événements sont activés pour les objets uniquement, ils ne se produiront pas; ces deux événements doivent également être activés au niveau du formulaire.