4D Write v14WR ON EVENT |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v14
WR ON EVENT
|
WR ON EVENT ( area ; evento ; metodo ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
area | Inteiro longo |
![]() |
Área 4D Write | |||||
evento | Inteiro longo |
![]() |
Código do evento | |||||
metodo | cadeia |
![]() |
Nome do método a executar | |||||
O comando WR ON EVENT instala metodo como o método a chamar cada vez que evento ocorre em area. Os eventos se passam diretamente a metodo antes de ser tratados por 4D Write.
Se area é igual a 0, metodo se converte no método de evento por padrão para todas as áreas 4D Write até que a base seja fechada. Se uma área tem seu próprio método de evento instalado, esse método é chamado em lugar do método por padrão.
No parâmetro evento, passe um valor que indique o evento a interceptar. Pode utilizar uma das seguintes constantes predefinidas, do tema WR Events:
Constante | Tipo | Valor |
wr on key | Inteiro longo | 0 |
wr on double click | Inteiro longo | 1 |
wr on single click | Inteiro longo | 2 |
wr on triple click | Inteiro longo | 3 |
wr on right click | Inteiro longo | 4 |
wr on activate | Inteiro longo | 5 |
wr on printing | Inteiro longo | 7 |
wr on ruler | Inteiro longo | 8 |
wr on compute references | Inteiro longo | 9 |
wr on close | Inteiro longo | 10 |
wr on drag | Inteiro longo | 11 |
wr on drop | Inteiro longo | 12 |
wr on timer | Inteiro longo | 13 |
Parâmetro | Tipo | Descrição |
$1 | Inteiro longo | área 4D Write4 |
$2 | Inteiro | Tecla maiús |
$3 | Inteiro | Alt (Windows), Opção (Mac OS) |
$4 | Inteiro | Ctrl (Windows), Comando (Mac OS) |
$5 | Inteiro | Tipo de evento |
$6 | Inteiro | Seu valor varia em função do parâmetro evento |
$0 | Inteiro longo | Se método devolve um valor |
$1 devolve o inteiro longo que é o identificador da área onde ocorreu o evento. $2, $3 e $4 descrevem se uma tecla modificadora específica estava oprimida ao momento do evento. Se o valor é igual a 0, a tecla não foi pressionada. Se o valor é igual a 1, a tecla foi pressionada. $5 devolve o tipo de evento. $6 varia segundo o tipo de evento.
Variáveis método e o parâmetro evento ($6)
Para filtrar eventos, deve utilizar metodo como uma função que devolve 0 ou 1. Isto lhe permite especificar os caracteres no documento que 4D Write ignorará.
Inicialize $0 em 1 para fazer que o método tenha em conta um evento em particular. Inicialize $0 em 0 se não quer ter em conta um evento em particular. Por exemplo, se não deseja que o caractere "@" apareça em seu documento, filtre todos os caracteres que aparecem no documento. Se a variável $6 é igual ao código do caractere "@", inicializamos $0 em 1 e o ignoramos.
Nota: Se filtrar todos os caracteres, as operações podem ser desaceleradas consideravelmente uma vez que o método será chamado cada vez que se pressione uma tecla.
Nos exemplos seguintes, algumas ações se executam em função do tipo de evento:
`Método formulário:
If(Form event=On Load)
WR ON EVENT(Area;wr on key;"ProcName")
`Chamada a todas as teclas
WR ON EVENT(Area;wr on activate;"ProcName")
`Verificação do estado da área
DISABLE MENU ITEM(2;1)
`Desativação do comando de menu "Mudar fontes"
WR SET AREA PROPERTY(Area;wr timer frequency;54000)
`Evento contador cada 15 min
WR ON EVENT(Area;wr on timer;"ProcName")
`Ativação auto guardar
End if
`Método ProcName:
Case of
:($5=wr on key)
`Interceptação de teclas
If($6=199)|($6=200)
`Correspondência dos códigos ASCII
BEEP
$0:=1
Else
`Deixar o evento a 4D Write
$0:=0
End if
:($5=wr on activate)
`Interceptar mudança no estado da área
If($6=0)
`Se a área está inativa
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
Produto: 4D Write
Tema: WR Utilitários
Número
89174
Modificado: 4D Write 2004.1
WR Get on event method
WR ON ERROR
4D Write - Linguagem ( 4D Write v11.6)
4D Write - Linguagem ( 4D Write v12)
4D Write - Linguagem ( 4D v13)
4D Write - Linguagem ( 4D Write v14)
4D Write - Linguagem ( 4D Write v14 R2)
4D Write - Linguagem ( 4D Write v14 R3)
4D Write - Linguagem ( 4D Write v14 R4)