4D Write v16WR ON EVENT |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v16
WR ON EVENT
|
WR ON EVENT ( area ; evento ; metodo ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
area | Entero largo |
![]() |
Área 4D Write | |||||
evento | Entero largo |
![]() |
Código del evento | |||||
metodo | Cadena |
![]() |
Nombre del método a ejecutar | |||||
El comando WR ON EVENT instala metodo como el método a llamar cada vez que evento ocurre en area. Los eventos se pasan directamente a metodo antes de ser tratados por 4D Write.
Si area es igual a 0, metodo se convierte en el método de evento por defecto para todas las áreas 4D Write hasta que la base se cierre. Si un área tiene su propio método de evento instalado, ese método se llama en lugar del método por defecto.
En el parámetro evento, pase un valor que indique el evento a interceptar. Puede utilizar una de las siguientes constantes predefinidas, del tema WR Eventos:
Constante | Tipo | Valor |
wr on key | Entero largo | 0 |
wr on double click | Entero largo | 1 |
wr on single click | Entero largo | 2 |
wr on triple click | Entero largo | 3 |
wr on right click | Entero largo | 4 |
wr on activate | Entero largo | 5 |
wr on printing | Entero largo | 7 |
wr on ruler | Entero largo | 8 |
wr on compute references | Entero largo | 9 |
wr on close | Entero largo | 10 |
wr on drag | Entero largo | 11 |
wr on drop | Entero largo | 12 |
wr on timer | Entero largo | 13 |
Para activar metodo para todos los eventos, pase -1 en evento.
Cuando se llama, metodo recibe siete parámetros que describen el estado de area en el momento del evento. Usted debe explícitamente declarar estos parámetros utilizando las directivas del compilador. En la tabla siguiente se describen los parámetros recibidos por metodo:
Parámetro | Tipo | Descripción |
$1 | Entero largo | área 4D Write4 |
$2 | Entero | Tecla mayús |
$3 | Entero | Alt (Windows), Opción (Mac OS) |
$4 | Entero | Ctrl (Windows), Comando (Mac OS) |
$5 | Entero | Tipo de evento |
$6 | Entero | Su valor varia en función del parámetro evento |
$0 | Entero largo | Si metodo devuelve un valor |
$1 devuelve el entero largo que es el identificador del área donde ocurrió el evento. $2, $3 y $4 describen si una tecla modificadora específica estaba oprimida al momento del evento. Si el valor es igual a 0, la tecla no se ha presionado. Si el valor es igual a 1, la tecla se presionó. $5 devuelve el tipo de evento. $6 varía según el tipo de evento.
Variables método y el parámetro evento ($6)
Nota: si filtra todos los caracteres, las operaciones pueden ralentizarse considerablemente puesto que el método se llamará cada vez que se presione una tecla.
En los ejemplos siguientes, algunas acciones se ejecutan en función del tipo de evento:
`Método formulario:
If(Form event=On Load)
WR ON EVENT(Area;wr on key;"ProcName")
`Llamada a todas las teclas
WR ON EVENT(Area;wr on activate;"ProcName")
`Verificación del estado del área
DISABLE MENU ITEM(2;1)
`Desactivación del comando de menú "Cambiar fuentes"
WR SET AREA PROPERTY(Area;wr timer frequency;54000)
`Evento contador cada 15 min
WR ON EVENT(Area;wr on timer;"ProcName")
`Activación auto guardar
End if
`Método ProcName:
Case of
:($5=wr on key)
`Intercepción de teclas
If($6=199)|($6=200)
`Correspondencia de los códigos ASCII
BEEP
$0:=1
Else
`Dejar el evento a 4D Write
$0:=0
End if
:($5=wr on activate)
`Interceptar cambio en el estado del área
If($6=0)
`Si el área está inactiva
DISABLE MENU ITEM(2;1)
Else
ENABLE MENU ITEM(2;1)
End if
:($5=wr on timer)
`Cada 15 min
$DocName:="C:\\Temp\\Docs\\TheArea.4W7"
WR SAVE DOCUMENT(TheArea;$DocName;"4WR7")
End case
Producto: 4D Write
Tema: WR Utilitarios
Número
89174
Modificado: 4D Write 2004.1
4D Write - Lenguaje ( 4D Write v16)