TUTORIAIS DE VISUAL BASIC
 
1. Introdução
Página: 1 2 3 4 5 6
 

Events

Imaginemos um Form com vários objectos dispostos estratégicamente. Quando fazemos duplo-click sobre um desses objectos despoletamos a abertura de uma janela onde podemos codificar os diferentes eventos (objectos que respondem de uma forma adequada quando o utilizador interage com eles).

Observemos a imagem seguinte:

GotFocus

Ocorre quando um objecto recebe o focus. Quer seja pela acção do utilizador, da tecla TAB, pelo Click do rato ou ainda pela utilização do método SetFocus. Nota: Um objecto só pode receber o Focus se as propriedades Enabled e Visible estiverem True.

LostFocus

Ocorre quando um objecto perde o Focus. Quer seja pela acção do utilizador, da tecla TAB, pelo Click do rato ou ainda pela utilização do método SetFocus.

Click

Ocorre quando o utilizador pressiona e liberta o botão do rato sobre o objecto. Num Form, este evento ocorre quando o utilizador o executa na área do Form. Este evento está tipicamente relaccionado com os objectos CommandButton (Botões), Menus ou PicturesBox.

DblClick

O duplo-click ocorre quando o utilizador pressiona, liberta, volta a pressionar e a libertar o botão do rato sobre um objecto, dentro de um determinado limite de tempo, findo o qual, o objecto reconhece somente o evento click.

 

Método SetFocus

Move o Focus para um controlo ou um Form específico.

Propriedade SelStart

Indica ou fixa a posição de inserção de um texto a seleccionar

Propriedade SelLength

Indica ou fixa o numero de caracteres seleccionados

Função Len

Indica o numero de caracteres de uma string

Falei neste método, propriedades função aqui, porque nos exemplos que se seguem eles irão ser aplicados.

 

 

Criemos uma janela para testar algo simples e ao mesmo tempo importante nos nossos projectos.

Utilizámos 10 objectos.
4 objectos Label, onde escrevemos "Letras Maiusculas", "Letras Minusculas", "Só Numéricos" e "Só Alfabéticos" alterando as propriedades Caption.

4 objectos TextBox.
Onde alterámos as propriedades Text, que ficaram "vazias"

2 objectos CommandButton.
Onde alterámos as propriedades Caption para "Voltar ao inicio" e "Terminar".

Outra das propriedades que alterámos a todos os objectos, foi a propriedade TabIndex, que indica a ordem pela qual os objectos serão sequencialmente acedidos. Assim:

  • 1ª caixa de texto TabIndex=0
  • 2ª caixa de texto TabIndex=1
  • 3ª caixa de texto TabIndex=2
  • 4ª caixa de texto TabIndex=3
  • Botão "Voltar ao inicio" TabIndex=4
  • Botão "Terminar" TabIndex=5

 

Não alterámos as propriedades Name, porque achámos não se justificar neste momento.

 

Codificação:

  1. Private Sub Text1_GotFocus()
    Text1.Text=""
    Text2.Text=""
    Text3.Text=""
    Text4.Text=""
    End Sub
  2. Private Sub Text1_KeyPress(KeyAscii As Integer)
    KeyAscii = Asc(Ucase$(Chr$(KeyAscii)))
    End Sub
  3. Private Sub Text2_KeyPress(KeyAscii As Integer)
    KeyAscii = Asc(Lcase$(Chr$(KeyAscii)))
    End Sub
  4. Private Sub Text3_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
         Case vbKeyDelete
         Case vbKeyBack
         Case 48 To 57
         Case Else
                 Beep
                 KeyAscii = 0
    End Select
    End Sub
  5. Private Sub Text4_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
         Case vbKeyDelete
         Case vbKeyBack
         Case 65 To 90
         Case 97 To 122
         Case Else
                 Beep
                 KeyAscii = 0
    End Select
    End Sub
  6. Private Sub Command1_Click()
    Text1.SetFocus
    End Sub
  7. Private Sub Command2_Click()
    End
    End Sub
 

Comentários:

Ponto 1:
Quando a caixa de texto "Text1" tem o Focus, "esvazia/limpa" o conteudo de todas as caixas de texto.

Ponto 2:
A função Ucase$ transforma em maiusculas todos os caracteres.

Ponto 3:
A função Lcase$ transforma em minusculas todos os caracteres.

Ponto 4:
Só permite caracteres Ascii compreendidos entre 48 e 57, que correspondem aos carateres numéricos, mais o Delete e o Backspace.

Ponto 5:
Só permite caracteres Ascii compreendidos entre 65 e 90, e entre 97 e 122 que correspondem aos carateres alfabéticos, mais o Delete e o Backspace.

Ponto 6:
Activando o Evento Click, transfere o Focus para a 1ª caixa de texto

Ponto 7:
Activando o Evento Click, termina o programa


Façamos agora uma pequena alteração no evento GotFocus da 1ª caixa de Texto, de modo a não apagar o que escrevemos anteriormente.

Apagamos as 4 linhas do Ponto 1, a vamos substitui-las por:

Text1.SelStart = 0
Text1.SelLeght=Len(Text1.Text)

Se no evento GotFocus das caixas, Text2, Text3 e Text4, fizermos a mesma coisa, iremos obter o resultado acima mostrado, com todo e texto seleccionado, sempre que "navegamos" de caixa de texto em caixa de texto o que permite manter o mesmo texto ou escrever um novo.

 
 

ANÚNCIOS

 



 
 
 
  Tutoriais | Fóruns de Discussão | Notícias | Jogos | Dicas | Flash | Downloads | Livros
Gifs Animados | Loja Online | Publicitar no Truques e Dicas | Contactos