4D v16.3

OBJECT SET EVENTS

Página Inicial

 
4D v16.3
OBJECT SET EVENTS

OBJECT SET EVENTS 


 

OBJECT SET EVENTS ( {* ;} objeto ; arrEventos ; modo ) 
Parâmetro Tipo   Descrição
Operador in Se for especificado, objeto é um nome de objeto (cadeia) Se for omitido, objeto é um campo ou uma variável
objeto  Objeto de formulário in Nome de objeto ou "" para designar o formulário (se * for especificado) ou Campo ou variável (se * for omitido)
arrEventos  Array inteiro longo in Array de eventos a definir
modo  Inteiro longo in 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 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 "Eventos de Formulários":

Constante Tipo Valor Comentário
On Activate Inteiro longo 11 A janela de formulário vira a janela atual.
On After Edit Inteiro longo 45 Os conteúdos do objeto editável que tem o foco foram modificados.
On After Keystroke Inteiro longo 28 Um caractere que vai ser inserido no objeto que tem o foco. Get edited text retorna o texto do objeto, incluindo esse caractere
On After Sort Inteiro longo 30 (List box only) Uma ordenação padrão foi realizada em uma list box coluna
On Arrow Click Inteiro longo 38 (3D buttons only) A área “flecha” do botão 3D é clicado.
On Before Data Entry Inteiro longo 41 (List box only) Uma célula de list box está prestes a mudar para modo editar
On Before Keystroke Inteiro longo 17 Um caractere está prestes a entrar no objeto que tem o foco. Get edited text retorna o texto de objeto sem o caractere.
On Begin Drag Over Inteiro longo 46 Um objeto está sendo arrastado
On Begin URL Loading Inteiro longo 47 (apenas Web areas) Uma nova área URL é carrega na área WEb
On bound variable change Inteiro longo 54 A variável relacionada a um subformulário é modificada.
On Clicked Inteiro longo 4 Ocorre um clique sobre um objeto
On Close Box Inteiro longo 22 Um clique ocorreu na caixa de fechar a janela.
On Close Detail Inteiro longo 26 O formulário de entrada é fechado e regressa ao formulário de saída
On Collapse Inteiro longo 44 (Listas hierárquicas apenas) Um elemento da lista hierárquica foi contraído através de um clique ou uma tecla.
On Column Moved Inteiro longo 32 (List box apenas) O usuário move uma coluna de list box com arrastar e soltar.
On Column Resize Inteiro longo 33 (List box apenas) A largura de uma coluna de list box é modificado por um usuário com o mouse
On Data Change Inteiro longo 20 Os dados do objeto foram modificados
On Deactivate Inteiro longo 12 A janela do formulário deixa de ser a janela atual
On Delete Action Inteiro longo 58 (Listas hierárquicas e List box somente) O usuário é solicitado a remover um item
On Display Detail Inteiro longo 8 Um registro está prestes a ser mostrado na lista
On Double Clicked Inteiro longo 13 Ocorreu clique duas vezes num objeto
On Drag Over Inteiro longo 21 Os dados podem ser liberados num objeto
On Drop Inteiro longo 16 Os dados foram liberados no objeto
On End URL Loading Inteiro longo 49 (Somente áreas web) Todos os recursos da URL foram carregados
On Expand Inteiro longo 43 (Somente listas hierarquicas ) Um elemento da lista hierarquica foi expandido fazendo clique ou utilizando uma tecla
On Footer Click Inteiro longo 57 (Somente List box) um clique ocorreu no pé de uma list box ou coluna de list box
On Getting Focus Inteiro longo 15 Um objeto do formulário tem o foco
On Header Inteiro longo 5 O cabeçalho do formulário está prestes a ser impresso ou exibido
On Header Click Inteiro longo 42
(Somente list box) Ocorre um clique num cabeçalho de coluna do list box
On Load Record Inteiro longo 40
No modo de entrada em lista, enquanto é modificado, um registro é carregado (o usuário clica numa linha do registro e um campo passa ao modo de edição)
On Long Click Inteiro longo 39 (Somente botões 3D) Um botão 3D é clicado e o botão do mouse permanece pressionado por um instante
On Losing Focus Inteiro longo 14 Um objeto do formulário está perdendo o foco
On Mac toolbar button Inteiro longo 55 O usuário clica no botão de gestão da barra de ferramentas no Mac OS.
On Menu Selected Inteiro longo 18 Um comando do menu foi selecionado
On Mouse Enter Inteiro longo 35 O ponteiro do mouse ingressa à área gráfica de um objeto
On Mouse Leave Inteiro longo 36 O ponteiro do mouse sai da área gráfica de um objeto
On Mouse Move Inteiro longo 37 O ponteiro do mouse se move (pelo menos um pixel). Ou quando se pressiona uma tecla de modificação (Ctrl, Alt, Caps Lock). Se o evento está selecionado para um objeto unicamente, é gerado só quando o cursor se encontra dentro da área gráfica do objeto
On Open Detail Inteiro longo 25 O formulário detalhado associado com o formulário de saída ou com o listbox está aponto de ser aberto
On Open External Link Inteiro longo 52 (Somente áreas web) Foi aberta uma URL externa no navegador
On Outside Call Inteiro longo 10 O formulário recebe um chamado CALL PROCESS
On Picture Scroll Inteiro longo 59 O usuário desloca o conteúdo de um campo ou de uma variável imagem utilzando o mouse ou uma tecla.
On Plug in Area Inteiro longo 19 Um objeto externo solicitou que fosse executado o seu método de objeto
On Printing Break Inteiro longo 6 Uma das áreas de quebra do formulário está prestes a ser impressa
On Printing Detail Inteiro longo 23 A área de detalhe do formulário está prestes a ser impressa
On Printing Footer Inteiro longo 7 A área do rodapé do formulário está prestes a ser impressa
On Resize Inteiro longo 29 A janela do formulário é redimensionada
On Row Moved Inteiro longo 34 (Somente List Box) O usuário move uma fileira de uma list box usando arrastar e soltar
On Selection Change Inteiro longo 31
  • List box: é modificada a seleção atual de linhas ou colunas
  • Registros na lista: é modificado o registro atual ou a seleção atual de linhas num formulário listado ou num subformulário
  • Lista hierarquica: a seleção na lista é modificada após fazer clique ou pressionar uma tecla
  • Variável ou campo editável (somente v12.x): a seleção de texto ou a posição do ponteiro na área é modificada ao clicar ou pressionar uma tecla.
On Timer Inteiro longo 27 O número de tiques definido pelo comando SET TIMER passou
On Unload Inteiro longo 24 O formulário está prestes a ser fechado e liberado
On URL Filtering Inteiro longo 51 (Somente áreas web) Uma URL foi bloqueada pela área web
On URL Loading Error Inteiro longo 50 (Somente áreas web) Ocorreu um erro quando a URL estava sendo carregada
On URL Resource Loading Inteiro longo 48 (Somente áreas web) Um novo recurso é carregado na área web
On Validate Inteiro longo 3 A entrada de dados foi validada
On Window Opening Denied Inteiro longo 53 Uma janela pop-up foi bloqueada

É 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



Ver também 

Eventos de Formulários
OBJECT GET EVENTS

 
PROPRIEDADES 

Produto: 4D
Tema: Objetos (Formulários)
Número 1239

 
HISTÓRIA 

Criado por: 4D v14

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)