Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.0 - Português

Change language to:
English - Français - 日本語 -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Manual Scilab >> Biblioteca de Gráficos > interaction > event handler functions

event handler functions

Protótipo de funções que podem se utilizadas como gerenciadoras de eventos

Seqüência de Chamamento

envent_handler_function(win,x,y,ibut)

Parâmetros

win

número da janela onde o evento ocorreu

x

coordenada X em píxeis do ponteiro do mouse no momento onde o evento ocorreu

y

coordenada Y em píxeis do ponteiro do mouse no momento onde o evento ocorreu

ibut

número correspondente ao tipo de evento

Descrição

Quando o modo de gerenciador de eventos está habilitado, o Scilab chamaráo gerenciador de eventos especificado a cada vez que um evento ocorre na janela gráfica. A função de gerenciamento de evento deve concordar com o protótipo acima. A cada vez que um evento ocorre, a função é chamada e os quatro eventos são ajustados de acordo com o número da janela, a posição do mouse e o tipo do evento.

O parâmetro ibut toma um dos seguintes valores dependendo do tipo do evento ocorrido:

ibut==0

o botão esquerdo foi pressionado

ibut==1

o botão do meio foi pressionado

ibut==2

o botão direito foi pressionado

ibut==3

o botão esquerdo do mouse foi clicado

ibut==4

o botão do meio do mouse foi clicado

ibut==5

o botão direito do mouse foi clicado

ibut==10

o botão esquerdo do mouse foi clicado duas vezes

ibut==11

o botão do meio do mouse foi clicado duas vezes

ibut==12

o botão direito do mouse foi clicado duas vezes

ibut==-5

o botão esquerdo do mouse foi liberado

ibut==-4

o botão do meio do mouse foi liberado

ibut==-3

o botão direito do mouse foi liberado

ibut==-1

o ponteiro do mouse foi movido

ibut > =32

uma tecla com código ascii(ibut) foi pressionada

ibut < =-32

uma tecla com código ascii(-ibut) foi liberadav

ibut > =1000+32

uma tecla com código ascii(ibut-1000) foi pressionada enquanto a tecla CTRL estava sendo pressionada.

ibut==-1000

a janela de gráficos foi fechada

Por exemplo, digamos que o nome da função de gerenciamento de eventos seja fooHandler para a janela de número 0. Um clique com o botão esquerdo na janela na posição [100,150] (em píxeis) será equivalente a chamar fooHandler( 0, 100, 150, 3 ).

Ver figure_properties ou seteventhandler para mais informações sobre como especificar o nome do gerenciador de eventos.

Exemplos

function my_eventhandler(win, x, y, ibut)
  if ibut==-1000 then return,end
  [x,y]=xchange(x,y,'i2f')
  xinfo(msprintf('Evento de código %d na posição do mouse é (%f,%f)',ibut,x,y))
endfunction

plot2d()
fig = gcf() ;
fig.event_handler = 'my_eventhandler' ;
fig.event_handler_enable = "on" ;
//agora:
//   -  mova o mouse sobre a janela gráfica
//   -  pressione e libere as teclas com shift pressionado ou não e com Ctrl pressionado ou não
//   -  pressione um botão, espere um pouco e libere
//   -  pressione e libere um botão
//   -  clique duas vezes em um botão

fig.event_handler_enable = "off" ; //suprimindo o gerenciador de eventos

Autor

Jean-Baptiste Silvy

<< edit_curv interaction locate >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jan 26 16:24:40 CET 2011