| 4D Write v15WR ON EVENT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D Write v15
 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 v15)
	
	
	
	
	
	
	
 Añadir un comentario
Añadir un comentario