4D View v16

PV ON EVENT

Inicio

 
4D View v16
PV ON EVENT

PV ON EVENT 


 

PV ON EVENT ( area ; evento ; metodo ) 
Parámetro Tipo   Descripción
area  Entero largo in Área 4D View
evento  Entero largo in Evento 4D View
metodo  Cadena in 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):

0Ninguno
512 Tecla Mayús
2048Tecla Alt
4096Tecla Ctrl (Windows)/Comando (Mac OS).
  • Gestión de clics (eventos pv on clicked, pv on right clicked, pv on double clicked y pv on contextual click):
    - si el evento (clic, clic derecho, doble clic o clic contextual) sucede en una celda, $4 devuelve el número de la columna y $5 devuelve el número de la línea. Si esto sucede en un encabezado de línea, $4 vale 0. Si sucede en un encabezado de columna, $5 vale 0. Si sucede en una esquina superior izquierda del área, $4 y $5 toman el valor 0.
    - El evento pv on contextual click se llama cuando el usuario libera el botón del ratón; el evento pv on right clicked se llama cuando se presiona el botón. Estos dos eventos pueden utilizarse para poner una interfaz utilizando menús pop up contextuales. El evento pv on contextual click corresponde más con el funcionamiento de Windows y el evento pv on right clicked al de Mac OS. Los dos eventos pueden utilizarse simultáneamente.
    - S el evento es un clic, clic derecho, doble clic o clic contextual, $6 toma el valor 0.
  • Gestión de selección (evento pv on selection changed):
    - Si la nueva selección incluye varias celdas, columnas o líneas, $4 y $5 devuelven 0.
    - Si la nueva selección incluye una sola celda, $4 y $5 devuelven la columna y de la línea de la celda, respectivamente.
    - Si la nueva selección es una columna, $4 devuelve el número de la columna y $5 devuelve 0.
    - Si la nueva selección es una línea, $4 devuelve 0 y $5 devuelve el número de la línea.
  • Teclas de función: en el contexto de un evento pv on keyboard, si una tecla de función se ha activado, el parámetro $6 devuelve 0. En este caso, utilice la variable sistema Keycode de 4D para conocer el código ASCII de la tecla de función activada.
  • Ordenar: el evento pv on column sort es generado justo después de la ordenación de una columna. Permitiendo así controlar las acciones del usuario. En este caso, $6 recibe un valor indicando el criterio de ordenación. Este valor puede compararse con las siguientes constantes, ubicadas en el tema :
    Constante Tipo Valor
    pv ascending sort Entero largo 2
    pv descending sort Entero largo 3
  • Redimensionamiento: los eventos pv on column resize y pv on row resize se envían cuando una columna o línea es redimensionada por el usuario. No se envían si las columnas o líneas son redimensionadas por programación (utilizando los comandos PV SET COLUMNS WIDTH o PV SET ROWS HEIGHT).

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.


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



Ver también 

PV Get on event method

 
PROPIEDADES 

Producto: 4D View
Tema: PV Área
Número 15994

 
HISTORIA 

Modificado: 4D View 2004.1

 
ARTICLE USAGE

4D View - Lenguaje ( 4D View v16)