eventos | propriedades | janelas | dicas | erros

Eventos
Abaixo estão alguns eventos do Visual Basic:

Change

Quando mudamos o conteúdo de uma caixa de textos

Click

Quando ocorre um clique com o mouse em um controle

DlbClick

Quando ocorre um duplo clique com o mouse em um controle

Load

Ocorre quando o formulário está sendo carregado

Activate

Ocorre quando o formulário já foi carregado

Unload

Ocorre quando o formulário é descarregado liberando memória

GoFocus

Quando um controle recebe o foco (cursor). Ex: em um textbox

LostFocus

Quando um controle perde o foco

MouseDown

Quando o botão do mouse é pressionado

MouseUp

Quando o botão do mouse é solto

MouseMove

Quando o mouse é deslocado sobre um controle

KeyDown

Quando uma tecla é pressionada. Na variável KeyCode é obtido um número

 

que representa o código da tecla pressionada

KeyPress

Quando uma tecla é pressionada é devolvido o valor ANSI. Ex: 65 repre-

 

senta a tecla A (maiúscula)

KeyUp

Quando uma tecla é solta

DragDrop

Quando um controle é arrastado para outra posição

Resize

Quando o for alterado o tamanho de uma janela

Propriedades

Algumas propriedades são iguais em alguns controles, como por exemplo a propriedade Name, existe em todos os controles, e algumas propriedades existe em alguns e em outros não.

Algumas propriedades do formulário:

 

BackColor

Cor de fundo

BorderStyle

Define como ficará a borda do formulário.

 

0 - Nenhum

 

1 -

 

2 - Sisable: Exibe os botões maximizar, minimizar e fechar, a barra de título e caixa de menu, e o formulário pode ser redimensionado

 

3 -

 

4 - Fixed TooWindow: Só exibe o botão fechar, e não permite que o formulário seja redimensionado

 

5 -

ControlBox

Não exibe a caixa de menu quando False

ForeColor

Cor da fonte

Height

Altura do formulário

Left

Posição que o formulário tem da esquerda da tela

Top

Posição que o formulário tem de cima da tela

Width

Largura do formulário

Icon

Permite colocar um ícone na caixa de menu

Picture

Permite colocar uma figura dentro do formulário

MdiChild

Quando True o formulário é Filho, ou seja: pertence ao MID (formulário Pai)

MousePointer

Indica qual o tipo de ponteiro do mouse será apresentado quando algum processo for executado

StarUpPosition

Indica se o formulário será carregado centralizado (2 - CenterScreen) ou não

WindowsState

Indica se o formulário será carregado Maximizado, Minimizado ou Normal

Propriedades do label:

Aligment

Indica se o conteúdo ficará alinhado à esquerda (0 - Left Justify) , centralizado (2 - Center) ou direita (1 -Right Justify)

AutoSize

Quando True o tamanho do label, ficará de acordo com o conteúdo existente no mesmo

BackStyle

Indica se ficará Transparente ou não

BorderStyle

Indica como ficará a borda do label. 1 - Fixed Single, ficará com a aparência de um text box (caixa de texto)

ToolTipText

É um texto que quando o usuário passa o mouse sobre o label, é apresentado abaixo do mesmo

Visible

Indica se o label ficará visivel ou não. Quando True exibe o label

Index

É o índice do controle de array, que sempre inicia em 0

WordWrap

Quando True, o conteúdo do label é passado para a próxima linha, se a propriedade AutoSize estiver como False

Propriedades do text box

Appearance

Indica a aparência do text box. Quando em 3D, fica em baixo relevo

Enabled

Indica se a caixa de textos ficará habilitada (True) ou não (False)

Locked

Bloqueia o conteúdo que está na caixa de textos, não permitindo que os dados possam ser alterados, se estiver como True

MaxLength

Indica a quantidade máxima de caracteres que podem ser digitados dentro de uma caixa. Quando estiver 0, não há limite

MultiLine

Quando True, permite digitar os dados em várias linhas dentro da caixa

ScrollBars

Indica qual a barra de rolagem que aparecerá na caixa de textos, Nenhuma (0 - None), Horizontal, Vertical, ou se aparecerá as duas (3 - Both)

PasswordChar

Indica qual caracter que será exibido, quando se digita algum texto. Muito utilizado em senhas (* asterisco)

TabIndex

É a ordem da tecla Tab ou seja: Quando apertarmos a Tecla Tab, o foco é deslocado para o controle de acordo com a ordem que o colocamos dentro do formulário

TabStop

Indica quando apertarmos a Tecla Tab, se o foco será passado ou não para o próximo controle. Quando False, o foco é automaticamente pulado

Propriedades do Command Button

Picture

Permite colocar ícone no command button

Style

Quando 0 - Standard não exibe o ícone. Para que a mesma seja exibida escolha a opção 1 - Graphical

Cancel

Se em um command button, o Cancel estiver como True, ao pressionarmos a tecla Esc, o formulário será automaticamente fechado (não esqueça de codificar este botão com o comando End)

Janelas

Janela de Propriedades

Pressione a tecla F4 para tornar ativa esta janela. As propriedades são características que cada controle tem, como por exemplo: fonte, tamanho, cor, alinhamento, nome, legenda, entre outras.

 

Prefixos utilizados em nomes de controle (na propriedade name)

frm

formulário

lbl

label

txt

textbox

cmd

command button

pic

picture box

cmb

combo box

lst

list box

fra

frame

dtp

datepicker

img

image

tmr

timer

cn

conecção com a tabela

rs

recordset

Caixa de Ferramentas

É nesta caixa que utilizamos os objetos (controles) para montarmos o visual de nosso programa.

Nesta caixa, escolhemos os componentes que vão fazer parte do formulário. Ver o item Janela do Formulário.

Abaixo estão algumas ferramentas muito utilizadas dentro de um projeto: 

Ferramenta de Seleção - Sua função é selecionar um componente, oou também o formulário.

Ferramenta Picture - Sua função é incluir uma imagem no formulário.

Ferramenta Label  - Serve função é colocar uma legenda (rótulo), indicando o que o usuário por exemplo irá digitar, ou exibir o resultado de uma determinada operação.

Ferramenta Text Box  - Sua função é permitir que o usuário digite dados.

Ferramenta Frame  - O Frame é como se fosse um container, ou seja: Qualquer componente inserido (colocado) dentro do Frame, ao movermos o mesmo, tudo que estiver dentro será movido também.

Ferramenta Command Button  - Botão de Comando - Muito utilizado quando por exemplo, dentro de um programa o usuário deseja: salvar, excluir, sair do programa, etc., dando um clique no botão correspondente.

Ferramenta Check Box  - Utilizado quando por exemplo o usuário deseja marcar algumas opções e outras não. No Menu Ferramentas/Opções por exemplo do Microsoft Word, existem várias desta caixa.

Ferramenta Option Button  - Utilizado para que o usuário escolha qual das opções deseja executar. O comando Formatar do Meu Computador, possui vários deste botão.

Ferramenta Combo Box  - Muito utilizado, por exemplo no Windows. Quando escolhermos uma fonte, um tamanho para a mesma, uma lista de clientes da tabela, etc.

Ferramenta List Box  - Quando por exemplo, você desejar exibir uma lista de números, clientes, porém diferentemente do Combo Box, não é permitido selecionar, pois este componente não possui a seta.

Ferramenta Data  - Utilizada para conexão do Banco de Dados e da Tabela no formulário.

Obs.: No exemplo acima da Caixa de Ferramentas, a última ferramenta Maskedit Box , quando criamos um projeto novo, a mesma não faz parte. Para acrescentar a mesma e outros componentes nesta caixa, vá até o Menu Project e escolha a opção Components.

Esta ferramenta (Maskedit Box), permite a criação de Máscara de Entrada, em entradas como por exemplo: CEP, Data, etc.

Janela do Formulário

É nesta janela que montamos a parte visual do projeto. Juntamente com as propriedades o programa tem uma interface (ligação) entre a parte visual e a parte de código (Ver item Janela de Código). É claro que o mais importante dentro de um programa, é que o mesmo possa trazer as informações que o usuário necessita de uma forma precisa, mas a parte visual também chama a atenção.

Janela de Projeto

É nesta janela que está o nome do Projeto que neste caso é chamado de Folha. É através deste nome que o Visual Basic gera o executável (.exe). Nesta janela também, existe a lista dos formulários, que neste caso é o: frmFolha e frmSalario. O primeiro ícone desta janela, entra na janela de codificação e a segunda exibe o visual do formulário.

Janela de Código

 

Nesta janela que desenvolvemos a codificação. Utilizamos instruções, propriedades, métodos para que o programa possa definitivamente funcionar.

Dicas

Enter

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then SendKeys "{Tab}": KeyAscii = 0
End Sub
Obs.: Alterar a propriedade KeyPreview do formulário para True

Fechar

Função: Volta ao formulário anterior.
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub

Números

Private Sub TxtNumero_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8 ' Tecla Backspace
Case 48 To 57 ' números de 0 a 9
Case 127 ' Tecla Delete
Case Else ' Tecla inválida
KeyAscii = 0
End Select
End Sub
Obs.: Em uma caixa de valores monetários, onde o ponto e a vírgula são necessários, acrescente na estrutura acima, dentro do Select Case e End Select:
Case 44 'Vírgula
Case 46 'Ponto

Data

Private Sub txtValorPago_GotFocus()
If Not IsDate(TxtDataPagamento.Text) Then
MsgBox "Data de Pagamento Inválida ", vbInformation, "Pagamento!!!"
txtDataPagamento.SetFocus
Exit Sub
End If
End Sub
Obs.: O código acima foi colocado, não na caixa de textos onde a Data foi digitada (txtDataPagamento), e sim na próxima caixa (txtValorPago), no evento GotFocus, ou seja: o usuário digita a data e quando o foco entrar na caixa seguinte, a data será verificada se é uma data válida.

Combo Preenchido da Tabela

Private Sub Form_Load()
tbCliente.MoveFirst 'Move para o primeiro registro da tabela
Do While Not tbCliente.BOF 'Le do primeiro registro até que seja o final do arquivo
'IsNull abaixo, é para verificar se o campo está nulo (em branco)
If Not IsNull(tbCliente!Codigo) Then cmbCliente.AddItem tbCliente!Cliente
tbCliente.MoveNext 'Move para o próximo registro da tabela
Loop 'Volta para a linha do Do While
End Sub

Destacar o conteúdo de uma caixa de texto

Private Sub txtCodigo_GotFocus()
txtCodigo.SelStart = 0 'Inicia no primeiro caracter
txtCodigo.SelLength = Len(txtCodigo.Text) 'Seleciona todo o conteúdo
End Sub

Obs.: O código acima foi colocado, no evento GotFocus. Exemplo: Quando clicamos duas vezes em uma caixa de textos, o evento que aparece é o Change, daí a necessidade de selecionarmos o evento GotFocus.

Validando o conteúdo de uma caixa de texto 1

Private Sub txtCodigo_Validate(Cancel As Boolean)
If txtCodigo.Text = Empty Then 'Se estiver em branco
MsgBox "Informe o Código!!!", vbInformation, "Código"
txtCodigo.SetFocus
Cancel = True
End If
End Sub

Obs.: O código acima foi colocado, no evento Validate.

Validando o conteúdo de uma caixa de texto 2

Private Sub txtCodigo_LostFocus()
If Not IsNumeric(txtCodigo.Text) Then 'Se o código não for número
MsgBox "Digite um número inteiro!!!", vbInformation, "Código"
txtCodigo.SetFocus
Exit Sub
End If
End Sub
Obs.: O código acima foi colocado, no evento LostFocus.

Estrutura de Repetição Do...While
É uma das instruções de Looping do Visual Basic. Ex.:
Inserindo números dentro de um List Box:
Dim Numero As Integer
Numero=0
Do While Numero <100
lstNumero.AddItem Numero
Numero = Numero +1
Loop

Abrindo Banco de Dados e Tabela em DAO
Crie as variáveis:

Dim BD As Database
Dim TbCliente As Recordset

ou no Módulo (Para Criar um Módulo, Clique no Menu Projetct/Add Module
Obs.: Variáveis criadas dentro do módulo, servem para o formulário inteiro, ou seja: quando utilizamos no caso acima, a variável TbCliente com a instrução Public, ela pode ser acessada em qualquer formulário, e não perde o conteúdo armazenada na mesma. No módulo a instrução utilizada para declarar variáveis é Public e não Dim (utilizada em formulário).
Obs1.: Não esqueça também, de marcar a Biblioteca DAO, no Menu Projetcs/References.

Chamando o relatório do Crystal Reports
- Vá até o Menu Projetc/Componentes, e insira o componente Crystal Reports
- Altere a propriedade ReportFileName, e indique o caminho e o arquivo de relatório.
- Crie um botão ou um item no Menu, e usee as instruções a seguir:
Exemplo 1: rptRelatorio.Action =1 ou
Exemplo 2: rptRelatorio.PrintReport

Utilizando fórmulas dentro do Crystal Reports
- Entre no Crystal Reports, e no Menu Insert/Formula. Será aberta uma caixa. Digite por exemplo: Criterio e depois no botão OK. Logo a seguir, será aberta a caixa de Edição de Fórmula. Deverá aparecer na caixa Fields: @Criterio, indicando que o processo foi bem sucedido. Para confirmar, clique no botão Accept.
- Vá até o Menu Projetc/Componentes, e innsira o componente Crystal Reports
- Altere a propriedade ReportFileName, e indique o caminho e o arquivo de relatório.
Dentro do Visual Basic, crie um botão ou um Item dentro do Menu, e digite as instruções abaixo:

Dim Criterio As String
Criterio = "{Cadastro.Codigo}= " & txtCodigo.Text & ""
rptRelatorio.SelectionFormula = Criterio
rptRelatorio.PrintReport

Opções da propriedade ReportFileName:
- To Windows = Permite visualizar o relatório na tela e imprimi-lo;
- To Printer = Permite imprimir o relatórrio direto para impressora;
- To File = Permite salvar o relatório dentro de um arquivo.

Mensagens de Erro

Compile Error: Method or data member not found
Esta mensagem normalmente acontece, quando foi criado um array e na codificação não foi feita a referência correta. Ex.: txtCampo.SetFocus <--Errado. txtCampo(0).SetFocus <-- Certo.

Run time error 13
Type mismatch (Tipos misturados)
Este erro ocorre quando uma string é misturada com números. Por exemplo: txtResultado.Text = 10 + txtValor1.Text, ou seja: 10 é valor e caixa txtValor1.Text é uma String

Must have startup form or Sub Main()
Este erro ocorre quando o Visual Basic tenta encontrar um formulário para exibir como o primeiro (no caso do Menu Principal), e não encontra. Entre no Menu Project/Properties e na opção Starup Object, selecione na seta da caixa, o formulário que deverá ser carregado primeiro.

Array
Uma estrutura de array é quando você cria uma cópia de um componente, e o Visual Basic para distinguir um do outro, coloca na propriedade Index, uma seqüência iniciando em 0. Aí é perguntado You already have a control named txtCampo. Do you want to create a control array. Se você responder Yes, é criado uma cópia deste componente (txtCampo), ficando assim: na propriedade Index, o primeiro Text1 receberá o valor 0, e o segundo 1, e assim sucessivamente.

   

 

 
Hosted by www.Geocities.ws

1