4D View v14PV ON EVENT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
PV ON EVENT
|
PV ON EVENT ( area ; evento ; metodo ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
area | Inteiro longo |
![]() |
Área 4D View | |||||
evento | Inteiro longo |
![]() |
Evento 4D View | |||||
metodo | cadeia |
![]() |
Nome do método | |||||
O comando PV ON EVENT se utiliza para associar um metodo a um evento 4D View. Cada vez que ocorre o evento, se executa o metodo.
As constantes PV Eventos se utilizam para definir o parâmetro evento.
O método chamado recebe 6 parâmetros de tipo Inteiro longo e devolve um Booleano em $0:
$1: Referencia da área 4D View
$2: Evento
$3: Código de tecla de modificação
$4: Número da coluna
$5: Número da linha
$6: Código Ascii da tecla (se o evento é um clique, um clique direito ou um duplo clique, $6 vale 0)
O parâmetro $3 pode conter um dos seguintes valores (estes valores se agregam em caso de combinação de teclas):
0 | Nenhum |
512 | Tecla Maiús |
2048 | Tecla Alt |
4096 | Tecla Ctrl (Windows)/Comando (Mac OS). |
Constante | Tipo | Valor |
pv ascending sort | Inteiro longo | 2 |
pv descending sort | Inteiro longo | 3 |
Se $0 é True, o evento não será tomado em conta.
Se $0 é False, o evento será tomado em conta.
Nota: Se vai compilar a base, deve declarar os parâmetros $0 como Booleano e $1 a $6 como Inteiro longo ainda que alguns deles não se utilizem.
Se area é igual a 0, o comando PV ON EVENT se aplica a todas as novas areas 4D View. Neste caso, é melhor passar este comando no Método base On Startup, que se executa quando a base se abre.
Para desinstalar o método de chamada do evento, simplesmente chame ao comando PV ON EVENT com uma cadeia vazia no último parâmetro.
Ver os exemplos dos comandos PV VALIDATE CURRENT CELL, PV GET PREVIOUS ACTIVE CELL, PV GET CELL FIELD, PV Get on event method, e PV SAVE DOCUMENT.
O usuário faz clique no cabeçalho de coluna para fazer uma ordem. O método PM_Event se utiliza para determinar que coluna foi ordenada e em que ordem.
`Instalação do método que será chamado durante o 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_STRING(12;$SortOrder)
If($2=pv on column sort)
Case of
:($6=pv ascending sort)
$SortOrder:="ascendente"
:($6=pv descending sort)
$SortOrder:="descendente"
End case
ALERT("A ordem se realizou na coluna "+String($4)+" em ordem "+$SortOrder)
Um duplo clique em um cabeçalho de coluna provoca o redimensionamento da coluna. No entanto, um dobre clique gera uma sequência de dois eventos: pv on clicked e pv on double clicked.
Como resultado, se a ordem foi permitida por uma chamada a PV SET AREA PROPERTY, um dobre clique em um cabeçalho primeiro causa a ordem da coluna, logo seu redimensionamento. Se deseja que um dobre clique provoque unicamente o redimensionamento da coluna, deve interceptar e eliminar o evento pv on clicked, que é gerado justo antes de que a ordenam seja levada a cabo. Para isso, basta com instalar um método que será chamado durante o evento pv on clicked:
`Instalação do método que será chamado durante o 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 `O evento se ignora e a ordem não se realiza
End if
Produto: 4D View
Tema: PV Área
Número
15994
Modificado: 4D View 2004.1
4D View Linguagem ( 4D View v11.4)
4D View Linguagem ( 4D View v12)
4D View Linguagem ( 4D v13)
4D View Linguagem ( 4D View v14 R2)
4D View Linguagem ( 4D View v14)
4D View Linguagem ( 4D View v14 R3)
4D View Linguagem ( 4D View v14 R4)