Saltar al contenido principal
Versión: Siguiente

OBJECT SET EVENTS

OBJECT SET EVENTS ( {* ;} objeto ; arrEventos ; modo )

ParámetroTipoDescripción
*OperadorSi se especifica, objeto es un nombre de objeto (cadena)
Si se omite, objeto es un campo o una variable
objetoanyNombre de objeto o "" para designar el formulario (si * se especifica) o
Campo o variable (si * se omite)
arrEventosInteger arrayArray de eventos a definir
modoIntegerModo de activación de los eventos definidos en arrEvents

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

El comando OBJECT SET EVENTS modifica, para el proceso actual, la configuración de los eventos formulario del formulario u objetos designados por los parámetros objeto y * .

Si pasa el parámetro opcional * se indica que el parámetro objeto es un nombre de objeto (cadena). Si no pasa este parámetro, indica que el parámetro objeto es un campo o una variable. En este caso, se pasa una referencia de campo o variable en lugar de una cadena (campo o variable objeto únicamente).
Para definir la configuración de eventos para el formulario, pase el parámetro opcional * y una cadena vacía "" en objeto, en este caso, usted designa el formulario actual.

Nota: si desea modificar los eventos de un subformulario relacionado con una tabla, sólo puede utilizar la sintaxis basada en el nombre del objeto.

En el parámetro arrEvents, pase un array entero largo que contenga la lista de eventos de formulario predefinidos o personalizados que desea modificar (se puede utilizar el parámetro modo para especificar si la modificación consiste en la activación o desactivación de los eventos) . Para designar un evento predefinido a modificar, puede pasar en cada elemento del array arrEvents, una de las siguientes constantes, que se encuentra en el tema "Eventos formulario":

ConstanteTipoValorComentario
On ActivateEntero largo11La ventana del formulario se convierte en la ventana del primer plano
On After EditEntero largo45El contenido del objeto editable que tiene el foco acaba de ser modificado
On After KeystrokeEntero largo28Un carácter está apunto de introducirse en el objeto que tiene el foco. Get edited text devuelve el contenido incluyendo este carácter
On After SortEntero largo30(List box únicamente) Se acaba de efectuar una ordenación estándar en una columna del list box
On Arrow ClickEntero largo38(Botones 3D únicamente) El área “flecha” de un botón 3D recibe un clic
On Before Data EntryEntero largo41(List box únicamente) Una celda de list box está a punto de pasar a modo edición
On Before KeystrokeEntero largo17Un carácter está a punto de introducirse en el objeto que tiene el foco. Get edited text devuelve el texto del objeto sin este carácter.
On Begin Drag OverEntero largo46Se va a arrastrar un objeto
On Begin URL LoadingEntero largo47(Áreas web únicamente) Un nuevo URL se carga en el área web
On bound variable changeEntero largo54Se modifica la variable relacionada a un subformulario.
On ClickedEntero largo4Ocurre un clic sobre un objeto
On Close BoxEntero largo22Se ha hecho clic en la casilla de cerrar la ventana
On Close DetailEntero largo26Se cierra el formulario de entrada y regresa al formulario de salida
On CollapseEntero largo44(Listas jerárquicas únicamente) Un elemento de la lista jerárquica se ha contraído vía un clic o una tecla
On Column MovedEntero largo32(List box únicamente) El usuario mueve una columna de list box vía arrastrar y soltar
On Column ResizeEntero largo33(List box únicamente) El ancho de una columna de list box es modificado por un usuario con el ratón
On Data ChangeEntero largo20Se han modificado los datos de un objeto
On DeactivateEntero largo12La ventana del formulario deja de ser la ventana del primer plano
On Delete ActionEntero largo58(Listas jerárquicas y list box únicamente). El usuario solicita borrar un elemento.
On Display DetailEntero largo8Un registro se va a mostrar en una lista o una línea se va a mostrar en un list box.
On Double ClickedEntero largo13Un objeto ha recibido un doble clic
On Drag OverEntero largo21Los datos pueden soltarse en un objeto
On DropEntero largo16Se han soltado datos en un objeto
On End URL LoadingEntero largo49(Áreas web únicamente) Se han cargado todos los recursos del URL
On ExpandEntero largo43(Listas jerárquicas únicamente) Se ha expandido un elemento de la lista jerárquica utilizando un clic o una tecla
On Footer ClickEntero largo57(List box únicamente) Un clic en el pie de un list box o de una columna de list box
On Getting FocusEntero largo15Un objeto de formulario toma el foco
On HeaderEntero largo5El encabezado del formulario se va a imprimir o a mostrar
On Header ClickEntero largo42(List box únicamente) Ocurre un clic en un encabezado de columna del list box
On Load RecordEntero largo40En modo entrada en lista, se carga un registro durante modificación (el usuario hace clic en una línea del registro y un campo pasa a modo edición)
On Long ClickEntero largo39(Botones 3D únicamente) Se hace clic en un botón 3D y el botón del ratón permanece presionado por un cierto tiempo
On Losing FocusEntero largo14Un objeto de formulario está perdiendo el foco
On Mac toolbar buttonEntero largo55El usuario hace clic en el botón de gestión de la barra de herramientas en Mac OS.
On Menu SelectedEntero largo18Se ha seleccionado un comando de menú
On Mouse EnterEntero largo35El cursor del ratón entra al área gráfica de un objeto
On Mouse LeaveEntero largo36El cursor del ratón sale del área gráfica de un objeto
On Mouse MoveEntero largo37El cursor del ratón se mueve al menos un píxel O cuando se presiona una tecla de modificación (Ctrl, Alt, Bloq mayús). Si el evento está seleccionado para un objeto únicamente, se genera sólo cuando el cursor se encuentra dentro del área gráfica del objeto
On Open DetailEntero largo25El formulario detallado asociado con el formulario de salida o con el listbox está apunto de ser abierto
On Open External LinkEntero largo52(Áreas web únicamente) Se ha abierto un URL externo en el navegador
On Outside CallEntero largo10El formulario recibe una llamada POST OUTSIDE CALL
On Picture ScrollEntero largo59El usuario desplaza el contenido de un campo o de una variable imagen utilzando el ratón o una tecla.
On Plug in AreaEntero largo19Un objeto externo solicitó que se ejecute su método de objeto
On Printing BreakEntero largo6Se va a imprimir una de las áreas de ruptura del formulario
On Printing DetailEntero largo23Se va a imprimir el área de detalle del formulario
On Printing FooterEntero largo7Se va a imprimir el área de pie de página del formulario
On ResizeEntero largo29La ventana del formulario se redimensiona
On Row MovedEntero largo34(List box únicamente) El usuario mueve una fila de un list box vía arrastrar y soltar
On Row ResizeEntero largo60(4D View Pro únicamente) La altura de una línea es modificada por un usuario con el ratón
On Selection ChangeEntero largo31List box: se modifica la selección actual de líneas o columnasRegistros en lista: se modifica el registro actual o la selección actual de líneas en un formulario listado o en un subformularioLista jerárquica: la selección en la lista se modifica luego de un clic o de presionar una teclaVariable o campo editable: la selección de texto o la posición del cursor en el área se modifica al hacer clic o presionar una tecla.
On TimerEntero largo27El número de tics definido por el comando SET TIMER se ha pasado
On UnloadEntero largo24El formulario se cierra y libera
On URL FilteringEntero largo51(Áreas web únicamente) Un URL fue bloqueado por el área web
On URL Loading ErrorEntero largo50(Áreas web únicamente) Ocurrió un error cuando se cargaba el URL
On URL Resource LoadingEntero largo48(Áreas web únicamente) Se carga un nuevo recurso en el área web
On ValidateEntero largo3Se ha valido la entrada de datos en el registro
On VP Range ChangedEntero largo61El rango de celdas 4D View Pro ha cambiado (por ejemplo, el cálculo de una fórmula, el valor eliminado de una celda, etc.)
On Window Opening DeniedEntero largo53(Áreas web únicamente) Se ha bloqueado una ventana pop-up

Es importante tener en cuenta que el evento On Load no está incluido en esta lista: este evento no se puede definir porque ya se ha generado durante la ejecución del comando.

En arrEvents, también puede pasar todo valor correspondiente a un evento personalizado. En este caso, recomendamos utilizar valores negativos (ver el comando CALL SUBFORM CONTAINER).

El parámetro modo se utiliza para definir el tratamiento global a efectuar para los elementos del array. Para ello, puede pasar una de las siguientes constantes, que se encuentra en el tema "Propiedades de los objetos":

ConstanteTipoValorComentario
Disable events others unchangedEntero largo2Todos los eventos listados en el array arrEvents se desactivan; el estado de todos los demás eventos no cambia
Enable events disable othersEntero largo0Todos los eventos listados en el array arrEvents se activan; todos los demás eventos se desactivan
Enable events others unchangedEntero largo1Todos los eventos listados en el array arrEvents se activan; el estado de todos los demás eventos no cambia

El comando OBJECT SET EVENTS puede dar lugar a la activación de eventos que no son compatibles con el objeto (dependiendo del tipo). En este caso, simplemente se ignoran los eventos.

Si un objeto se duplica después de una llamada al comando OBJECT SET EVENTS, la configuración resultante de activación/desactivación también se duplica.

Ejemplo 1

Activación de tres eventos formulario para un conjunto de objetos list box y desactivación de otros eventos:

 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)
  // activa 3 eventos y desactiva todos los demás

Ejemplo 2

Desactivación de tres eventos formulario para un conjunto de objetos list box, sin modificar los otros eventos:

 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)
  // desactiva solo 3 eventos

Ejemplo 3

Activación de un evento formulario para un objeto, sin modificar los otros eventos:

 ARRAY LONGINT($MyEventsOnLB;1)
 $MyEventsOnLB {1}:=On Column Moved
 OBJECT SET EVENTS(*;"Col1";$MyEventsOnLB;Enable events others unchanged)
  // activa únicamente el evento

Ejemplo 4

Desactivación de todos los eventos del formulario:

 ARRAY LONGINT($MyFormEvents;0)
 OBJECT SET EVENTS(*;"";$MyFormEvents;Enable events disable others)
  // desactiva todos los eventos

Ejemplo 5

Desactivación de un solo evento del formulario sin modificar los otros:

 ARRAY LONGINT($MyFormEvents;1)
 $MyFormEvents{1}:=On Timer
 OBJECT SET EVENTS(*;"";$MyFormEvents;Disable events others unchanged)
  // solo desactiva el evento

Ver también

Eventos formulario
OBJECT GET EVENTS