4D View v16PV ON EVENT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v16
PV ON EVENT
|
PV ON EVENT ( area ; evento ; metodo ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
area | Entero largo |
![]() |
Área 4D View | |||||
evento | Entero largo |
![]() |
Evento 4D View | |||||
metodo | Cadena |
![]() |
Nombre del método | |||||
El comando PV ON EVENT se utiliza para asociar un metodo a un evento 4D View. Cada vez que ocurre el evento, se ejecuta el metodo.
Las constantes PV Eventos se utilizan para definir el parámetro evento.
El método llamado recibe 6 parámetros de tipo Entero largo y devuelve un Booleano en $0:
$1: Referencia del área 4D View
$2: Evento
$3: Código de tecla de modificación
$4: Número de la columna
$5: Número de la línea
$6: Código Ascii de la tecla (si el evento es un clic, un clic derecho o un doble clic, $6 vale 0)
El parámetro $3 puede contener uno de los siguientes valores (estos valores se añaden en caso de combinación de teclas):
0 | Ninguno |
512 | Tecla Mayús |
2048 | Tecla Alt |
4096 | Tecla Ctrl (Windows)/Comando (Mac OS). |
Constante | Tipo | Valor |
pv ascending sort | Entero largo | 2 |
pv descending sort | Entero largo | 3 |
Si $0 es True, el evento no se tendrá en cuenta.
Si $0 es False, el evento se tendrá en cuenta.
Nota: si va a compilar la base, debe declarar los parámetros $0 como Booleano y $1 a $6 como Entero largo aunque algunos de ellos no se utilicen.
Si area es igual a 0, el comando PV ON EVENT se aplica a todas las nuevas areas 4D View. En este caso, es mejor pasar este comando en el Método base On Startup, que se ejecuta cuando la base se abre.
Para desinstalar el método de llamada del evento, simplemente llame al comando PV ON EVENT con una cadena vacía en el último parámetro.
Ver los ejemplos de los comandos PV VALIDATE CURRENT CELL, PV GET PREVIOUS ACTIVE CELL, PV GET CELL FIELD, PV Get on event method, y PV SAVE DOCUMENT.
El usuario hace clic en el encabezado de columna para hacer una ordenación. El método PM_Event se utiliza para determinar qué columna ha sido ordenada y en qué orden.
//Instalación del método que se llamará durante el evento pv on column sort:
PV ON EVENT(area;pv on column sort;"PM_Event")
//PM_Event method
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
C_TEXT($SortOrder)
If($2=pv on column sort)
Case of
:($6=pv ascending sort)
$SortOrder:="ascendente"
:($6=pv descending sort)
$SortOrder:="descendente"
End case
ALERT("La ordenación se efectúo en la columna "+String($4)+" en orden "+$SortOrder)
End if
Un doble clic en un encabezado de columna provoca el redimensionamiento de la columna. Sin embargo, un doble clic genera una secuencia de dos eventos: pv on clicked y pv on double clicked.
Como resultado, si la ordenación se ha permitido por una llamada a PV SET AREA PROPERTY, un doble clic en un encabezado primero causa la ordenación de la columna, luego su redimensionamiento. Si desea que un doble clic provoque únicamente el redimensionamiento de la columna, debe interceptar y eliminar el evento pv on clicked, que se genera justo antes de que la ordenación se lleve a cabo. Para ello, basta con instalar un método que será llamado durante el evento pv on clicked:
`Instalación del método que se llamará durante el evento pv on clicked
PV ON EVENT(area;pv on clicked;"PM_Event")
`Método PM_Event
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
If($2=pv on clicked)
$0:=True `El evento se ignora y la ordenación no se efectúa
End if
Producto: 4D View
Tema: PV Área
Número
15994
Modificado: 4D View 2004.1
4D View - Lenguaje ( 4D View v16)