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


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

ibut==-10000

Unmanaged event. It might be a drag and drop or a fast click and move

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')
  gcf().info_message = 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

Ver Também

  • figure_properties — description of the graphics figure entity properties
  • seteventhandler — Define um gerenciador de eventos para uma janela gráfica
  • xgetmouse — retorna os eventos de mouse e posição corrente
  • xclick — espera por um clique do mouse
Report an issue
<< 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:
Tue Oct 24 14:35:26 CEST 2023