Skip to main content
Version: 20 R7 BETA

OBJECT SET EVENTS

OBJECT SET EVENTS ( {* ;} object ; arrEvents ; mode )

ParameterTypeDescription
*OperatorIf specified, object is an object name (string)
If omitted, object is a field or variable
objectanyObject name or "" to designate the form (if * is specified) or
Field or variable (if * is omitted)
arrEventsArray integerArray of events to set
modeIntegerActivation mode for events defined in arrEvents

This command is not thread-safe, it cannot be used in preemptive code.

Description

The OBJECT SET EVENTS command modifies, for the current process, the configuration of the form events of the form or object(s) designated by the object and * parameters.

Passing the optional * parameter indicates that the object parameter is an object name (string). If you do not pass this parameter, it indicates that the object parameter is a field or variable. In this case, you pass a field or variable reference instead of a string (field or variable object only).
To define the configuration of events for the form itself, pass the optional * parameter and an empty string "" in object: in this case, you designate the current form.

Note: If you want to modify the events of a subform related to a table, you can only use the syntax based on the object name.

In the arrEvents parameter, pass a Longint array containing the list of predefined or custom form events that you want to modify (you can use the mode parameter to specify whether the modification consists of enabling or disabling the events). To designate a predefined event to modify, you can pass, in each element of the arrEvents array, one of the following constants, found in the "Form Events" theme:

ConstantTypeValueComment
On ActivateLongint11The form’s window becomes the frontmost window
On After EditLongint45The contents of the enterable object that has the focus has just been modified
On After KeystrokeLongint28A character is about to be entered in the object that has the focus. Get edited text returns the object's text including this character.
On After SortLongint30(List box only) A standard sort has just been carried out in a list box column
On Arrow ClickLongint38(3D buttons only) The “arrow” area of a 3D button is clicked
On Before Data EntryLongint41(List box only) A list box cell is about to change to editing mode
On Before KeystrokeLongint17A character is about to be entered in the object that has the focus. Get edited text returns the object's text without this character.
On Begin Drag OverLongint46An object is being dragged
On Begin URL LoadingLongint47(Web areas only) A new URL is loaded in the Web area
On bound variable changeLongint54The variable bound to a subform is modified.
On ClickedLongint4A click occurred on an object
On Close BoxLongint22The window’s close box has been clicked
On Close DetailLongint26You left the detail form and are going back to the output form
On CollapseLongint44(Hierarchical lists and hierarchical list boxes) An element of the hierarchical list or hierarchical list box has been collapsed using a click or a keystroke
On Column MovedLongint32(List box only) A list box column is moved by the user via drag and drop
On Column ResizeLongint33(List box and 4D View Pro) The width of a column is modified by a user with the mouse
On Data ChangeLongint20Object data has been modified
On DeactivateLongint12The form’s window ceases to be the frontmost window
On Delete ActionLongint58(Hierarchical lists and List boxes) The user attempts to delete an item
On Display DetailLongint8A record is about to be displayed in a list or a row is about to be displayed in a list box.
On Double ClickedLongint13A double click occurred on an object
On Drag OverLongint21Data could be dropped onto an object
On DropLongint16Data has been dropped onto an object
On End URL LoadingLongint49(Web areas only) All the resources of the URL have been loaded
On ExpandLongint43(Hierarchical lists and hierarchical list boxes) An element of the hierarchical list or hierarchical list box has been expanded using a click or a keystroke
On Footer ClickLongint57(List boxes only) A click occurs in the footer of a list box or a list box column
On Getting FocusLongint15A form object is getting the focus
On HeaderLongint5The form’s header area is about to be printed or displayed
On Header ClickLongint42(List box and 4D View Pro) A click occurs in a column header
On Load RecordLongint40During entry in list, a record is loaded during modification (the user clicks on a record line and a field changes to editing mode)
On Long ClickLongint39(3D buttons only) A 3D button is clicked and the mouse button remains pushed for a certain lapse of time
On Losing FocusLongint14A form object is losing the focus
On Mac toolbar buttonLongint55The user clicks on the tool bar management button under Mac OS.
On Menu SelectedLongint18A menu item has been chosen
On Mouse EnterLongint35The mouse cursor enters the graphic area of an object
On Mouse LeaveLongint36The mouse cursor leaves the graphic area of an object
On Mouse MoveLongint37The mouse cursor moves at least one pixel OR a modifier key (Shift, Alt, Shift Lock) was pressed. If the event is checked for an object only, it is generated only when the cursor is within the graphic area of the object
On Open DetailLongint25The detail form associated with the output form or with the listbox is about to be opened
On Open External LinkLongint52(Web areas only) An external URL has been opened in the browser
On Outside CallLongint10The form received a POST OUTSIDE CALL call
On Picture ScrollLongint59The user scrolls the contents of a picture field or variable using the mouse or keyboard.
On Plug in AreaLongint19An external object requested its object method to be executed
On Printing BreakLongint6One of the form’s break areas is about to be printed
On Printing DetailLongint23The form’s detail area is about to be printed
On Printing FooterLongint7The form’s footer area is about to be printed
On ResizeLongint29The form window is resized
On Row MovedLongint34(List box only) A list box row is moved by the user via drag and drop
On Row ResizeLongint60(4D View Pro only) The height of a row is modified by a user with the mouse
On Selection ChangeLongint31List box & 4D View Pro: The current selection of rows or columns is modified Records in list: The current record or the current selection of rows is modified in a list form or subform Hierarchical list: The selection in the list is modified following a click or a keystroke Enterable field or variable: The text selection or the position of the cursor in the area is modified following a click or a keystroke
On TimerLongint27The number of ticks defined by the SET TIMER command has passed
On UnloadLongint24The form is about to be exited and released
On URL FilteringLongint51(Web areas only) A URL was blocked by the Web area
On URL Loading ErrorLongint50(Web areas only) An error occurred when the URL was loading
On URL Resource LoadingLongint48(Web areas only) A new resource is loaded in the Web area
On ValidateLongint3The record data entry has been validated
On VP Range ChangedLongint61The 4D View Pro cell range has changed (e.g., a formula calculation, value removed from a cell, etc.)
On Window Opening DeniedLongint53(Web areas only) A pop-up window has been blocked

It is important to note that the On Load event is not included in this list: this event cannot be defined because it has already been generated during the execution of the command.

In arrEvents, you can also pass any value corresponding to a custom event. In this case, we recommend using negative values (see the CALL SUBFORM CONTAINER command).

You use the mode parameter to set the overall processing to be carried out for the array elements. To do this, you can pass one of the following constants, found in the "Form Objects (Properties)" theme:

ConstantTypeValueComment
Disable events others unchangedLongint2All the events listed in the arrEvents array are disabled; the status of other events remain unchanged
Enable events disable othersLongint0All the events listed in the arrEvents array are enabled; all the other events are disabled
Enable events others unchangedLongint1All the events listed in the arrEvents array are enabled; the status of other events remain unchanged

The OBJECT SET EVENTS command can lead to the enabling of events that are not supported by the object (depending on its type). In this case, the events will simply be ignored.

If an object is duplicated after a call to the OBJECT SET EVENTS command, the resulting enabled/disabled configuration is also duplicated.

Example 1

Enabling three form events for a set of list box objects and disabling other events:

 ARRAY LONGINT($MyEventsOnLB;3)
 $MyEventsOnLB {1}:=On After Sort
 $MyEventsOnLB {2}:=On Column Moved
 $MyEventsOnLB {3}:=On Column Resize
 OBJECT SET EVENTS(*;"MyLB@";$MyEventsOnLB;Enable events disable others)
  // enables 3 events and disables all others

Example 2

Disabling three form events for a set of list box objects, without modifying the other events:

 ARRAY LONGINT($MyEventsOnLB;3)
 $MyEventsOnLB {1}:=On After Sort
 $MyEventsOnLB {2}:=On Column Moved
 $MyEventsOnLB {3}:=On Column Resize
 OBJECT SET EVENTS(*;"MyLB@";$MyEventsOnLB;Disable events others unchanged)
  // disables only these 3 events

Example 3

Enabling a form event for an object, without modifying the other events:

 ARRAY LONGINT($MyEventsOnLB;1)
 $MyEventsOnLB {1}:=On Column Moved
 OBJECT SET EVENTS(*;"Col1";$MyEventsOnLB;Enable events others unchanged)
  // only enables this event

Example 4

Disabling all events of the form:

 ARRAY LONGINT($MyFormEvents;0)
 OBJECT SET EVENTS(*;"";$MyFormEvents;Enable events disable others)
  // disables all events

Example 5

Disables a single event of the form without modifying the others:

 ARRAY LONGINT($MyFormEvents;1)
 $MyFormEvents{1}:=On Timer
 OBJECT SET EVENTS(*;"";$MyFormEvents;Disable events others unchanged)
  // only disables this event

See also

Form Events
OBJECT GET EVENTS