Elipse Knowledgebase



Noções de VBScript no Software Elipse E3: Lição 4 - Eventos

Eventos de Telas

KeyDown (KeyCode, Shift)

Ocorre no momento em que uma tecla é pressionada, independentemente do foco na Tela.
KeyCode: Número inteiro que identifica o caractere ASCII da tecla que foi pressionada
Shift: Mostra a tecla pressionada juntamente com o mouse: 4 = Tecla [Shift]; 8 = Tecla [Ctrl]; 12 = Teclas [Ctrl] + [Shift].

Exemplo:

Sub Tela1_KeyDown(KeyCode, Shift)
'Mostra uma caixa de mensagem quando o usuário pressiona uma tecla
MsgBox "Código da tecla: " & KeyCode
End Sub

Exercícios:


1.    Quando o usuário apertar o Esc na Tela, sair do Viewer.
2.    Quando a combinação Ctrl+Y for apertada, aparecer uma caixa de mensagem.

MouseDown (Button, ShiftState, MouseX, MouseY)

Ocorre quando se pressiona qualquer botão do mouse sobre a Tela. Utilize o evento MouseDown para determinar ações específicas quando a Tela for clicada pelo usuário.
Button:  1 - O botão do mouse pressionado é o esquerdo. 2 - O botão do mouse pressionado é o direito.
ShiftState: Mostra a tecla pressionada juntamente com o mouse: 4 = Tecla [Shift]; 8 = Tecla [Ctrl]; 12 = Teclas [Ctrl] + [Shift].
MouseX: Mostra a posição X onde o mouse foi clicado na Tela
MouseY: Mostra a posição Y onde o mouse foi clicado na Tela

Exemplo:

MsgBox "Coordenada X: " & MouseX & vbNewLine & "Coordenada Y: " & MouseY

Exercícios:


3.    Ao clicar com o botão esquerdo na tela, exibir um calendário na coordenada x e y do clique.
4.    Ao clicar com o botão direito do mouse na tela, abrir a paleta de cores (ShowColorPicker) e alterar a cor de fundo da tela.

OnPreShow (Arg)


Ocorre antes da Tela ser mostrada. A variável de evento Arg recebe o conteúdo do parâmetro Arg do método OpenScreen(), que gera esse evento.

Exemplo:

Em um botão na tela inicial, inserimos o script abaixo onde a palavra "Recado" é o parâmetro Arg.

Sub CommandButton1_Click()
Application.GetFrame("").OpenScreen("Tela1"), "Recado"
End Sub

No evento OnPreShow da Tela1, exibimos o Arg em uma caixa de mensagem:

Sub Tela1_OnPreShow(Arg)
    MsgBox Arg   
End Sub

Exercícios:

5.    Em uma tela, crie um setpoint e um botão para chamar uma segunda tela. Passe através do parâmetro Arg o que foi digitado no setpoint.
6.    A segunda tela deve exibir em um display o parametro Arg.
7.    Crie um XControl com um desenho de Motor, chamado XMotor.
8.    Insira 3 XMotores na tela.
9.    Ao clicar no XMotor deve ser aberta uma tela (sempre a mesma tela) e um display desta segunda tela deve mostrar o nome do XMotor clicado.


Eventos do Setpoint

Validate (Cancel, NewValue)


Ocorre após os testes de limites do SetPoint e antes do valor do SetPoint ser enviado para o tag. A finalidade deste evento é permitir que o usuário cancele o envio do valor do SetPoint para o tag. O valor antigo pode ser acessado pela propriedade Value do SetPoint.
Cancel:  booleano que indica se a operação de atribuição do valor do SetPoint ao tag deve ser cancelada (Cancel = True). O padrão é False
NewValue:  valor que está sendo avaliado.

Exemplo:

Sub Setpoint1_Validate(Cancel, NewValue)
' Mostra uma MsgBox que pergunta ao usuário se ele deseja usar o novo valor digitado no SetPoint
mensagem = "Valor atual: " & Value & vbnewline & "Valor novo: " & NewValue & vbnewline & "Aceita o novo valor?"
If MsgBox(mensagem, vbQuestion+vbYesNo, "Evento Validate")=vbNo Then
    Cancel = True
End If
End Sub

Exercícios:


10.    Insira um setpoint e um display na tela. Associe ambos ao mesmo tag interno.
11.    Se o valor digitado no setpoint for diferente de 10, 20 ou 30, deve-se exibir uma mensagem ao usuário informando que este valor não é permitido. O valor não deve ser passado ao tag.


Eventos do E3Browser

OnDrawRow (Selected, Line, RowTextColor, RowBackColor)

Selected:  indica se a linha está selecionada;
Line: indica o número da linha sendo desenhada;
RowTextColor:  indica a cor do texto da linha;
RowBackColor: indica a cor de fundo do texto.
Se a cor for modificada dentro deste evento, esta modificação será usada pelo E3Browser no desenho da linha. Se o método GetColumnValue() for chamado de dentro do evento, os valores retornados serão os da linha sendo desenhada, e não os da linha selecionada.

Exemplo:

Estado = GetColumnValue(1)
If Estado=0 then
    RowTextColor = RGB(255,0,0) 'vermelho
Else
RowTextColor = RGB(255,0,0) 'verde
End if

Exercícios:

12.    Insira um objeto Banco de Dados na aplicação e configure-o.
13.    Crie um tag de demonstração.
14.    Insira um alarme para o tag de demonstração.
15.    Salve os alarmes no banco de Dados.
16.    Exiba os dados de alarmes no E3Browser
17.    Se o registro for de entrada de alarme, deve ter a cor vermelha. Se for um reconhecimento, cor azul. Se for um retorno, preto.


Eventos do E3Chart

OnLegendClick(Row, Col, RowData)


Ocorre quando o usuário clica em uma linha da legenda. Os parâmetros Row e Col indicam, respectivamente, a linha e a coluna clicadas. O parâmetro RowData é o índice da pena da legenda onde ocorreu o clique.

Exemplo:

Sub E3Chart1_OnLegendClick(Row, col, RowData)
MsgBox "Nome da pena: " & Pens.Item(RowData).name
End Sub

Exercícios:

18.    Crie um gráfico na tela com pelo menos 3 penas. Mostre a legenda.
19.    No evento OnStartRunning do E3Chart, insira o código abaixo para que todas as penas sempre apareçam:
Sub E3Chart1_OnStartRunning()
    Legend.ShowAllPens = True   
End Sub
20.    Ao clicar em uma pena na legenda, mostre um menu com as opções Visivel e Cor (Select Menu)
21.    Ao clicar na opção Visível, a pena deve aparecer/desaparecer.
22.    Ao clicar na opção Cor, deve abrir uma paleta de cores onde é possível escolher a nova cor da pena.



Related Articles

Attachments

Visitor Comments

No visitor comments posted. Post a comment

Post Comment for "Noções de VBScript no Software Elipse E3: Lição 4 - Eventos"

To post a comment for this article, simply complete the form below. Fields marked with an asterisk are required.

   Name:
   Email:
* Comment:
* Enter the code below:

 

Article Details

Last Updated
6th of October, 2009

Autor
Paula Pereira Enéas

Would you like to...

Print this page  Print this page

Email this page  Email this page

Post a comment  Post a comment

 Subscribe me

Subscribe me  Add to favorites

Remove Highlighting Remove Highlighting

Edit this Article

Quick Edit

Export to PDF


User Opinions

No users have voted.

How would you rate this answer?




Thank you for rating this answer.

Continue