Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
OBJECT SET EVENTS
|
OBJECT SET EVENTS ( {* ;} objeto ; arrEventos ; modo ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
* | Operador |
![]() |
Se for especificado, objeto é um nome de objeto (cadeia) Se for omitido, objeto é um campo ou uma variável | |||||
objeto | Objeto de formulário |
![]() |
Nome de objeto ou "" para designar o formulário (se * for especificado) ou Campo ou variável (se * for omitido) | |||||
arrEventos | Array inteiro longo |
![]() |
Array de eventos a definir | |||||
modo | Inteiro longo |
![]() |
Modo de ativação dos eventos definidos em arrEventos | |||||
O comando OBJECT SET EVENTS modifica, para o processo atual, a configuração dos eventos formulário do formulário, dos objetos designados pelos parâmetros objeto e * .
Se passar o parâmetro opcional * se indica que o parâmetro objeto é um nome de objeto (cadeia). Se não passar este parâmetro, indica que o parâmetro objeto é um campo ou uma variável. Neste caso, se passa uma referência de campo ou variável em vez de uma cadeia (campo ou variável objeto unicamente).
Para definir a configuração de eventos para o formulário, passe o parâmetro opcional * e uma cadeia vazia "" em objeto, neste caso, você designa o formulário atual.
Nota: Se deseja modificar os eventos de um sub formulário relacionado com uma tabela, só pode utilizar a sintaxe baseada no nome do objeto.
No parâmetro arrEventos, passe um array inteiro longo que contenha a lista de eventos de formulários pré definidos ou personalizados que deseja modificar (se pode utilizar o parâmetro modo para especificar se a modificação consiste na ativação ou desativação dos eventos) . Para designar um evento pré definido a modificar, pode passar em cada elemento do array arrEventos, uma das seguintes constantes, que se encontram no tema "Form event":
É importante levar em conta que o evento On Load não está incluído nesta lista: este evento não pode ser definido porque já foi gerado durante a execução do comando.
Em arrEventos, também pode passar todo valor correspondente a um evento personalizado. Neste caso, recomendamos utilizar valores negativos (ver o comando CALL SUBFORM CONTAINER).
O parâmetro modo se utiliza para definir o tratamento global a realizar para os elementos do array. Para isso, pode passar uma das seguintes constantes, que se encontra no tema "Propriedades dos objetos ":
Constante | Tipo | Valor | Comentário |
Disable events others unchanged | Inteiro longo | 2 | Todos os eventos listados no array arrEvents se desativam; o estado de todos os outros eventos não muda |
Enable events disable others | Inteiro longo | 0 | Todos os eventos listados no array arrEvents se ativam; todos os outros eventos se desativam |
Enable events others unchanged | Inteiro longo | 1 | Todos os eventos listados no array arrEvents se ativam; o estado de todos os outros eventos não muda |
O comando OBJECT SET EVENTS pode dar lugar a ativação de eventos que não são compatíveis com o objeto (dependendo do tipo). Neste caso, simplesmente se ignoram os eventos.
Se um objeto é duplicado depois de uma chamada ao comando OBJECT SET EVENTS, a configuração resultante de ativação/desativação também é duplicada.
Ativação de três eventos formulario para um conjunto de objetos list box e desativação de outros eventos:
ARRAY LONGINT($MyEventsOnLB;3)
$MyEventsOnLB {1}:=On After Sort
$MyEventsOnLB {2}:=On Column Moved
$MyEventsOnLB {3}:=On Column Resize
OBJECT SET EVENTS(*;"MyLB@";$MyEventsOnLB;Enable events disable others)
// Ativa 3 eventos e desativa todos os outros
Desativação de três eventos formulário para um conjunto de objetos list box, sem modificar os outros eventos:
ARRAY LONGINT($MyEventsOnLB;3)
$MyEventsOnLB {1}:=On After Sort
$MyEventsOnLB {2}:=On Column Moved
$MyEventsOnLB {3}:=On Column Resize
OBJECT SET EVENTS(*;"MyLB@";$MyEventsOnLB;Disable events others unchanged)
// Desativa só 3 eventos
Ativação de um evento formulário para um objeto, sem modificar os outros eventos:
ARRAY LONGINT($MyEventsOnLB;1)
$MyEventsOnLB {1}:=On Column Moved
OBJECT SET EVENTS(*;"Col1";$MyEventsOnLB;Enable events others unchanged)
// Ativa unicamente o evento
Desativação de todos os eventos do formulário:
ARRAY LONGINT($MyFormEvents;0)
OBJECT SET EVENTS(*;"";$MyFormEvents;Enable events disable others)
// Desativa todos os eventos
Desativação de um só evento do formulário sem modificar os outros:
ARRAY LONGINT($MyFormEvents;1)
$MyFormEvents{1}:=On Timer
OBJECT SET EVENTS(*;"";$MyFormEvents;Disable events others unchanged)
// Só desativa o evento
Produto: 4D
Tema: Objetos (Formulários)
Número
1239
Criado por: 4D v14
Manual de linguagem 4D ( 4D v20)
Manual de linguagem 4D ( 4D v20.1)
Manual de linguagem 4D ( 4D v20.2)
Manual de linguagem 4D ( 4D v20.3)
Manual de linguagem 4D ( 4D v20.4)
Manual de linguagem 4D ( 4D v20.5)
Manual de linguagem 4D ( 4D v20.6)