Escolar Documentos
Profissional Documentos
Cultura Documentos
O Visual Basic 4.0 permite a instalação para 16 Bits (Windows 3.1 e 3.11) e para
32 Bits (Windows 95 e NT). Apresentaremos, inicialmente, os objetos e rotinas para
16 Bits, que são comuns às duas instalações.
Como pode ser visto, esta janela contém os controles usuais de qualquer
aplicativo Windows, tais como Abrir Arquivo, Salvar Arquivo, Editar, etc.
ALGUMA TERMINOLOGIA
• formulários (.FRM);
• módulos de programação (.bas);
• controles de 16 bits (.VBX);
• controles de 32 bits (.OCX);
• bancos de dados (.mdb).
Quando se gera o programa executável, o VB cria um arquivo .EXE que tem todas
as características do arquivo .VBP, mas que pode ser executado fora do ambiente do
VB.
Para inserir um novo módulo, use o menu Insert, opção Module. Para remover
módulos e formulários do projeto (mas não do disco rígido), use o menu File, opção
Remove File. Esta opção remove do projeto o arquivo selecionado na Janela de
Projetos. Os arquivos de projeto do Visual Basic (.VBP) são, na verdade, descrições
de quais arquivos .FRM e .bas estão associados ao projeto, qual é o modo de
associação e onde encontrá-los no disco rígido. Quando for gerado o arquivo
executável *.exe, este substituirá as funções do arquivo .VBP. Este último continuará
presente no disco, naturalmente.
ALTERANDO PROPRIEDADES
1
Até a data de impressão desta apostila, o Visual Basic era disponível nas seguintes línguas: inglês, francês, alemão,
italiano, espanhol, japonês e chinês (não sei se mandarim ou cantonês). Como, visto, nossa querida língua lusa ficou
de fora e o melhor que temos a fazer é nos virarmos com o inglês. Como diria Vicente Mateus, “Se você quiser fazer
um omelete, terá que chutar os ovos...”.
Form1.Caption = “Minha Janela”
Note que Minha Janela é um string (cadeia de caracteres) e deve estar sempre
entre aspas. O único problema é onde escrever esta frase. Todo trecho de código em
VB deve ser escrito dentro da Janela de Código. Por exemplo, em tempo de projeto,
dê dois cliques no formulário para abrir a janela de código. Deve aparecer o seguinte
trecho2:
End Sub
Este é o “esqueleto” de um procedimento de eventos em VB, que será executado
toda vez que ocorrer o evento Carregar (Load) do formulário Form1. Agora, complete
o procedimento como a seguir e pressione F5 para rodar o programa.
Você verá que o formulário é carregado com o título “Outra Janela”. Entretanto,
em tempo de projeto ele continua com o título “Minha Janela” (ou seja lá o que for).
2
Para maior clareza, indicaremos os delimitadores de uma procedure ou função em negrito. O VB, naturalmente,
insere estas palavras automaticamente sem o negrito. Da mesma forma, faremos a docuentação do programa
(comentários) em itálico. No VB, basta que você coloque um apóstrofo na frente de uma linha para ela ser
interpretada como comentário.
A revolução criada pelo aparecimento das interfaces gráficas com o usuário
ainda não acabou, mas algumas pessoas ainda não se deram conta de que ela
tenha começado. Programadores antigos - e tenho ouvido vários - dizem que
interfaces gráficas não são coisas de
programadores sérios. Talvez estes sisudos
senhores prefiram realmente aqueles
monitores pavorosamente verdes da época
do DOS, mas a humanidade toda está contra
eles. Os seres humanos são seres
essencialmente visuais, e não é possível
exagerar a importância da visão no
desenvolvimento da inteligência humana.
Reconhecemos figuras muito mais depressa
do que reconhecemos letras, tanto que uma
das técnicas da chamada “Leitura Dinâmica” tenta ensinar as pessoas a visualizar
palavras ou frases inteiras como se fossem figuras. Neste aspecto os chineses e
outros povos asiáticos estão literalmente milênios à nossa frente. Talvez sejam eles
os verdadeiros inventores da interface gráfica !
Figura 5 - A Interface
Muito bem, se você não se sente bem com interfaces gráficas, tenho a dizer que
talvez você esteja estudando a linguagem errada. Por outro lado, se você pertence
aos 99,9% da humanidade que saliva frente à figura de uma lasanha, mas sente
apenas uma comichão lendo a frase “Coma uma Lasanha !”, bem, então você está
no lugar certo. O VB dispõe de recursos fantásticos para o projeto de interfaces
gráficas.
Tabela 1
c) Escrevendo o código
Cada objeto do VB, que denominamos aqui de “controle”, tem vários eventos
associados. A cada um destes eventos podemos associar um “procedimento de
eventos”, que será executado a cada vez que o evento correspondente ocorrer.
Isto é tudo. Cada botão de comando tem, agora, um código associado, que não
será executado até que os botões sejam acionados. O primeiro botão escreverá o
texto “Até mais tarde!” na caixa de texto, enquanto o segundo encerrará a execução
do programa.
UM PROGRAMA DE ANIMAÇÃO
Em Visual Basic, Método é um procedimento reservado que atua sobre um objeto
específico. Um método especialmente concebido para realizar efeitos de animação é
o método Move, cuja função é mover suavemente um objeto pela tela. A sintaxe é a
seguinte:
[Objeto.]Move Left[,Top[,Width[,Height]]],
onde Left é a distância medida a partir da esquerda do formulário até o lado esquerdo
do objeto, Top é a distância medida do topo do formulário até o topo do objeto, Width
é a largura do objeto e Height a altura (veja a figura 6). Colchetes indicam
parâmetros opcionais. Por exemplo, se Objeto for omitido, o VB moverá o objeto que
tem o “foco” no momento, isto é, o objeto que está presentemente selecionado.
A finalidade de nosso aplicativo é mover uma borboleta pela tela, enquanto ela
bate as asas. Inicie um Novo Projeto, através do menu File|New Project e, com
auxílio da Caixa de Ferramentas, posicione os seguintes controles no formulário: um
Botão de Comando, três Caixas de Imagem, e um Timer.
b) Definindo as Propriedades
Com auxílio da Janela de Propriedades, defina as seguintes propriedades para
os controles inseridos:
Tabela 2
Isto é tudo. Quando o programa for executado (menu Run ou F5), a borboleta se
moverá ao longo da tela, abrindo e fechando as asas.
Como funciona ?
A mágica toda é feita com o método Move, mas alguns adereços são necessários.
O efeito de animação das asas é conseguido com a alternação de duas imagens,
como se faz em desenho animado. Em vez de buscarmos tais imagens no disco
rígido, o que seria muito lento, optamos por armazená-las em controles de imagem. A
cada evento Timer a outra figura é carregada no controle imgPrincipal (que é quem se
move). Os controles de imagens imgAbreAsas e imgFechaAsas são mantidos
invisíveis durante toda a execução. Note, ainda, que CarregaBmp é uma variável
booleana que atua como “flag”, definindo qual imagem deve ser carregada em
imgPrincipal. Não se preocupe, por enquanto, com a palavra usada para declarar esta
variável (“Static”). Isto significa simplesmente que o valor da variável é preservado
entre eventos Timer consecutivos.
Nossa borboleta tem um problema: quando ela vai voando e atinge a borda direita
do monitor, não há como voltar. Você pode pensar em maneiras de fazer a borboleta
voltar ou, melhor ainda, aprisioná-la dentro da janela ? Como dica, você pode usar as
seguintes propriedades do formulário:
Para salvar o projeto, vá até o menu File e escolha a opção Save Project. Você
pode alterar o nome do formulário para frmBorb.frm e o nome do projeto para
Borbolet.vbp. Estes serão os nomes dos arquivos em disco.
Agora você poderá executar o programa clicando duas vezes sobre o ícone, sem
que seja necessário abrir o Visual Basic antes. Isto ocorre por que o programa
executável (.EXE) é independente do VB e pode ser executado em qualquer
máquina, desde que você forneça todos os controles. No nosso caso, tais controles
seriam:
• Controles Remote Data Objects (RDO) e Remote Data (RDC): controles para
criação de aplicativos cliente-servidor;
• Visual SourceSafe: sistema de controle integrado de código-fonte. Ferramenta útil
quando um programa é desenvolvido por um equipe, com computadores em rede;
• Automação Remota: extensão do OLE (Object Linking and Embedding) para
redes.
2. USANDO CONTROLES
CONVENÇÕES DE NOMES PARA CONTROLES
Tabela 3
Objeto. Setfocus
O “Foco” é uma propriedade comum a todos os controles do VB. Apenas
um objeto pode ter o foco de cada vez e apenas objetos visíveis podem
receber o foco. Geralmente, o objeto que tem o foco é diferenciado dos outros
por uma legenda ou título realçado. Em tempo de execução, o usuário define o
foco clicando sobre os objetos ou usando a tecla TAB. O método Setfocus
também define o foco para um objeto em tempo de execução, mas de maneira
automática. Se ocorrer uma tentativa de definir o foco em um objeto invisível,
um erro de execução será gerado.
Tabela 4
Note que a caixa de textos suporta textos com várias linhas, por causa
da propriedade “Multiline” e tem uma barra de paginação vertical. Esta barra de
paginação não é um objeto adicional, mas faz parte da caixa de textos. O VB
cuida de toda a automação necessária para a rolagem do texto. A
característica de edição em linhas múltiplas seria perdida caso definíssemos
também uma barra de paginação horizontal para a caixa. É por esta razão que
estamos usando apenas uma barra de paginação vertical.
c) Escrevendo o código
3
Variáveis “Public”, até a versão 3.0, eram denominadas “Globals”. Esta última palavra ainda é aceita
nas declarações, mas está definitivamente fora de moda.
End
End Sub
Tabela 5
• Dois Rótulos;
• Dois Botões de Opção;
• Um Timer.
Tabela 6
Tabela 6 (contiuação)
O Visual Basic não exige que você idente o código e compilará trechos
de código identados ou não exatamente da mesma maneira. Ainda assim, você
descobrirá que a identação é uma ferramenta poderosa na documentação de
programas. Por exemplo, compare os seguintes trechos.
PROCEDIMENTOS LONGOS
3. MENUS
Tabela 7
Tabela 8
For Contador = 0 To 7
mnuFontesItem(Contador).Checked = False
Next loop_index
mnuFontesItem(Contador).Checked = True
End Sub
Vale salientar que formulários que tenham sido apenas escondidos, mas
não descarregados, continuarão presentes, ocupando memória. Entretanto,
poderão ser acessados muito mais rapidamente da próxima vez em que forem
necessários, haja vista que não precisarão ser recuperados do disco.
Para iniciar uma nova janela, escolha o menu Insert | Form, renomeando
o formulário para frmAbrir. Desenhe no formulário os seguintes controle: dois
Botões de Comando, três Rótulos, uma Caixa de Lista de Arquivos
(FileListBox), uma Caixa de Lista de Diretórios (DirListBox) e uma Caixa de
Lista de Unidades (DriveListBox). As funções destes três últimos controles são
descritas a seguir:
Figura 13
O OBJETO CLIPBOARD
ClipBoard.SetText txtEditor.SelText
Abs (Função)
Asc (Função)
Atn (Função)
Beep (Comando)
ChDir “D:\WINDOWS”
ChDrive (Comando)
Close (Comando)
Descrição Conclui uma operação I/O (input/output) para um arquivo,
ou seja, fecha um arquivo anteriormente aberto.
Sintaxe Close [[#]número_do_arquivo] [,[#]número_do_arquivo]...
Comentários O argumento número_do_arquivo deve ser o mesmo usado
no comando Open para abrir o arquivo. O comando Close,
usado sem argumento, fecha todos os arquivos abertos.
Cos (Função)
Parte Descrição
Nome_da_variáv Nome da variável a ser declarada.
Do...Loop (Comando)
End (Comando)
EOF (Função)
Exp (Função)
FileCopy (Comando)
FileLen (Funções)
For...Next (Comando)
FreeFile (Função)
Function (Comando)
Parte Descrição
Static Indica que as variáveis locais da procedure
Function em questão são preservadas entre
duas chamadas.
Private Indica que a procedure Function em questão
é acessível somente a outros procedimentos
do módulo em que ela está declarada.
Lista_de_argumen Lista de variáveis passadas pela Function
tos como parâmetros.
As tipo Indica o tipo da procedure Function (Integer,
Long, Single, Double, Currency, String ou
Variant).
Bloco de comandos Expressões a serem executadas pela
procedure Function.
Expressão Valor de retorno da procedure Function
Get (Comando)
Parte Descrição
Número_do_arqui Número usado no comando Open para abrir o
vo arquivo.
Número_do_registPara arquivos abertos no modo Random, este
ro argumento é o número do registro a ser lido.
Para arquivos abertos no modo Binary, este
argumento corresponde ao byte onde a leitura
deve começar.
Nome_da_variáve Nome da variável usada para receber o
l conteúdo do arquivo.
Public (Comando)
Parte Descrição
Nome_da_variá Nome da variável a ser declarada.
vel
Índices Dimensões de variáveis do tipo array, quando for o
caso.
As tipo Palavra reservada para indicar o tipo de variável a
ser declarada: Integer, Long, Single, Double.
Currency, String ou Variant.
New Cria um novo “instance” de um objeto. Somente
aplicável a variáveis-objeto.
If...Then...Else (Comando)
Input# (Comando)
Parte Descrição
Número_do_arqui Número usado no comando Open para abrir o
vo arquivo. O sinal (#) que precede o número do
arquivo é obrigatório.
Lista_de_variávei Lista, separada por vírgulas, que descreve as
s variáveis usadas para armazenar os dados lidos
dos arquivos. Lista_de_variáveis não pode ser
um array, mas pode ser uma variável que
descreve um elemento de um array.
Lista_de_variáveis também não pode ser um
tipo de dado definido pelo usuário (user-defined
type), mas pode ser um elemento deste tipo de
dado
Parte Descrição
Prompt String mostrado como mensagem na caixa de diálogo.
Título String a ser mostrado na barra de título da caixa de
diálogo.
Default String mostrado na caixa de diálogo como resposta
default, caso o usuário não entre com uma expressão.
xpos Expressão numérica que especifica, em twips, a distância
horizontal da borda esquerda da caixa até a borda
esquerda da tela.
ypos Expressão numérica que especifica, em twips, a distância
vertical da borda superior da caixa até a borda superior da
tela.
Int (Função)
Kill (Comando)
Declaração Valor
Retornado
LBound (M, 1) 1
LBound (M, 2) 0
LBound (M, 3) -3
Left,Left$ (Funções)
Len (Função)
Load (Comando)
LoadPicture (Função)
LOF (Função)
Log (Função)
MkDir (Comando)
Name (Comando)
Name “C:\FOBOS\VBJUNK.DOC” As
\DEIMOS\VBJUNK.DOC”
On Error (Comando)
Partes Descrição
GoTo linha Habilita a rotina de tratamento de erros que começa na
linha rotulada com linha. A rotina de tratamento de
erros deve estar dentro da mesma procedure onde o
erro ocorreu.
Resume Especifica que, quando um erro ocorrer, o controle
Next será dirigido para o comando imediatamente a seguir
àquele onde o erro ocorreu. Em outras palavras, o
programa continua a execução normal.
GoTo 0 Desabilita o tratamento de erros na procedure atual.
Open (Comando)
Partes Descrição
Arquivo Nome do arquivo.
Modo Palavra reservada que especifica o tipo de arquivo:
Append, Binary, Input, Output, Random.
Access Palavra reservada que especifica quais operações
são permitidas para o arquivo: Read, Write, Read
Write. Disponível somente para ambiente em rede.
Partes Descrição
Lock Palavra reservada que especifica quais operações
são permitidas para o arquivo por outros processos:
Shared, Lock Read, Lock Write, Lock Read Write.
Disponível somente para ambiente em rede.
Nº_do_arqui Número inteiro com valor entre 1 e 255, inclusive.
vo Quando um arquivo for aberto, esta variável estará
associada ao arquivo enquanto ele estiver aberto.
Compriment Para arquivos Random, siginifica o comprimento do
o registro. Para arquivos sequenciais, significa o
número de caracteres.
Modo Descrição
Random Arquivos de acesso aleatório (default)
Binary Arquivos binários
Input Arquivos sequenciais para entrada
(leitura)
Output Arquivos sequenciais para saída
(gravação)
Append Arquivos sequenciais para saída
(gravação). O ponteiro é colocado no
fim do arquivo.
Print# (Comando)
Parte Descrição
Número_do_arqui Número usado no comando Open para abrir o
arquivo.
Parte Descrição
{;|,} Caractere que determina a posição do
próximo caractere a ser gravado. Ponto-e-
vírgula siginifica que o próximo caractere é
gravado imediatamente após o anterior;
vírgula siginifica que o próximo caractere é
impresso no começo da próxima “zona de
impressão”. Cada zona de impressão tem 14
colunas. Se nenhum caractere for
especificado, a gravação será feita na
próxima linha.
Put (Comando)
Parte Descrição
Número_do_arqui Número usado no comando Open para abrir o
vo arquivo.
Número_do_registPara arquivos abertos como Random, é o
ro número do registro onde se deseja gravar a
variável. Para arquivos abertos como Binary, é
o byte onde a gravação deve começar.
Nome_da_variáve Nome da variável a ser gravada. Variáveis-
l objeto e arrays não podem ser usados.
Entretanto, elementos de arrays podem ser
gravados individualmente.
QBColor (Função)
ReDim (Comando)
Parte Descrição
Preserve Preserva os dados em um array existente quando a
última dimensão é redimensionada.
Nome_do_arr Nome da variável.
ay
Índices Dimensões do array.
As tipo Tipo do array (Integer, Long, Single, Double,
Currency, String, Variant)
Reset (Comando)
Resume (Comando)
Comando Descrição
Resume [0] A execução continua a partir do comando que causou o
erro, ou a partir da procedure mais recentemente
chamada que contenha uma rotina de tratamento de
erro.
Resume A execução continua a partir do comando
Next imediatamente a seguir àquele que causou o erro, ou
imediatamente a seguir da procedure mais
recentemente chamada que contenha uma rotina de
tratamento de erro.
Resume A execução continua em linha, que é um rótulo ou
linha número de linha e deve estar na mesma procedure da
rotina de tratamento de erros.
RGB (Função)
Parte Descrição
Vermelh Inteiro na faixa 0 a 255, inclusive, que representa a
o componente vermelha da cor.
Verde Inteiro na faixa 0 a 255, inclusive, que representa a
componente verde da cor.
Azul Inteiro na faixa 0 a 255, inclusive, que representa a
componente azul da cor.
Rnd (Função)
SavePicture (Comando)
Parte Descrição
Figura Propriedade “Picture” ou “Image” do controle a partir da
qual a figura deve ser criada.
Arquivo Nome do arquivo, incluindo caminhos opcionais.
SavePicture frmFigura.picFig.Picture,
“C:\FIGURA.BMP”
Seek (Função)
Seek (Comando)
Parte Descrição
Número_do_arq Número usado no comando Open para abrir o
uivo arquivo.
Posição Expressão numérica que indica onde a próxima
operação I/O deve ocorrer. O valor de posição
deve estar entre 1 e 2.147.483.647 (equivalente
a 2^31-1).
Parte Descrição
Select Case Começo da estrutura de decisões (obrigatório)
Expressão_teste Qualquer expressão numérica ou string. Se
Expressão_teste for igual à
lista_de_expressões de uma cláusula Case, o
bloco_de_comandos associado será execu-
tado. O controle então passa para End Select.
Se Expressão_teste prencher os requisitos de
mais de uma cláusula Case, apenas a primeira
será executada.
Case Palavra reservada que divide os comandos a
serem executados quando uma expressão em
Lista_de_expressões for igual a
Expressão_teste.
Lista_de_express Lista de expressões separadas por vírgulas em
ões uma das seguintes formas:
Expressão
Expressão To Expressão
Is operador-de-comparação Expressão
Bloco_de_coman Lista de comandos em Visual Basic.
dos
Case Else Palavra-chave que indica o bloco de comandos
que será executado quando Expressão_teste
não se adequar a nenhuma das cláusulas
Case.
End Select Finalização do bloco Select Case (obrigatório)
SetAttr (Comando)
Parte Descrição
Nome_do_arqu String que contém uma identificaçõa não ambígua
ivo de um arquivo, podendo incluir informações
adicionais sobre o drive e o caminho.
Atributos A soma de qualquer um dos seguintes valores
que caracterizam os atributos de um arquivo:
Const Valor Significado
Simbólica
ATTR_NORMAL 0 Arquivo normal
ATTR_READON 1 Arquivo somente para
LY leitura
ATTR_HIDDEN 2 Arquivo escondido
ATTR_SYSTEM 4 Arquivo do sistema
ATTR_ARCHIVE 32 Arquivo foi modificado
desde o último back-
up
Sgn (Função)
Shell (Função)
Parte Descrição
String_de_coma Nome do programa a ser executado, incluindo
ndo caminhos e linhas de comando. As extensões
podem ser .COM, .EXE, .BAT ou .PIF. O default
é .EXE.
Tipo_de_janela Número correspondente ao estilo da janela na
qual o programa será executado. Se este
argumento for omitido, o programa é aberto
minimizado com foco.
Sin (Função)
Sqr (Função)
Static (Comando)
Parte Descrição
Nome_da_variáv Nome da variável a ser declarada.
Stop (Comando)
Sub (Comando)
Parte Descrição
Static Indica que as variáveis locais da procedure
Sub em questão são preservadas entre duas
chamadas.
Private Indica que a procedure Sub em questão é
acessível somente a outros procedimentos do
módulo em que ela está declarada.
Lista_de_argument Lista de variáveis passadas pela Sub como
os parâmetros.
As tipo Indica o tipo da procedure Function (Integer,
Long, Single, Double, Currency, String ou
Variant).
Bloco de comandos Expressões a serem executadas pela
procedure Function.
Exit Sub Causa o encerramento imediato da procedure
Sub.
End Sub Marca o fim de uma procedure Sub.
Tab (Função)
Tan (Função)
Time, Time$.(Comandos)
Parte Descrição
hh Especifica a hora; minutos e segundos são definidos
em 00.
hh:mm Especifica hora e minutos; segundos são definidos em
00.
hh:mm:s Especifica hora, minutos e segundos.
Type (Comando)
Parte Descrição
Type Marca o começo da declaração
Variável_do_usu Nome do tipo de dados definido pelo usuário.
Vendas_do_Mês.Índice
Vendas_do_Mês.Cliente
Vendas_do_Mês.Produto
UBound (Função)
Declaração Valor
Retornado
UBound (M, 1) 100
UBound (M, 2) 3
UBound (M, 3) 4
UnLoad (Comando)
Val (Função)
While...Wend (Comandos)
Parte Descrição
While Marca o começo do laço While...Wend
Condição Qualquer expressão numérica ou string que
dê como resultado “true” (não zero) ou “false”
(zero). Se Condição for verdadeira, os
comandos de Bloco_de_comandos serão
executados. Caso contrário, a execução salta
para o comando seguinte a While...Wend.
Bloco_de_coman Qualque número de comandos em Visual
Basic.
Width# (Comando)
Parte Descrição
Número_do_aqrq Número usado no comando Open para abrir o
arquivo.
Parte Descrição
Número_do_arquiv Número usado no comando Open para abrir
o o arquivo.
Lista_de_expressõ Expressões numéricas ou string, separadas
e por vírgulas, a serem escritas no arquivo.
s
Activate, Deactivate
Change
Aplicação Combo box, directory list box, drive list box, horizontal scroll
bar, label, picture box, text box, vertical scroll box.
Descrição Indica quando o conteúdo de um controle sofreu alterações.
Sintaxe Sub controle_Change (Index As Integer)
Comentários O argumento Index identifica um controle unicamente se
este for parte de um array de controles.
Click
Aplicação Form (não MDI), check box, combo box, command button,
directory list box, file list box, frame, grid, image, list box,
menu, OLE, option button, picture box, text box.
Descrição Ocorre quando o usuário pressiona o botão do mouse.
Sintaxe Sub Form_Click
Sub controle_Click (Index As Integer)
Comentários O argumento Index identifica um controle unicamente se
este for parte de um array de controles.
DblClick
Aplicação Form (não MDI), check box, combo box, command button,
directory list box, file list box, frame, grid, image, list box,
menu, OLE, option button, picture box, text box.
Descrição Ocorre quando o usuário pressiona o botão do mouse duas
vezes.
Sintaxe Sub Form_DblClick
Sub controle_DblClick (Index As Integer)
Comentários O argumento Index identifica um controle unicamente se
este for parte de um array de controles.
GotFocus
Aplicação Form (não MDI), check box, combo box, command button,
directory list box, drive list box, file list box, grid, horizontal
scroll bar, list box, OLE, option button, picture box, text box,
vertical scroll bar.
Descrição Ocorre quando um objeto recebe o foco, seja pela ação do
usuário ou usando-se o método SetFocus no código. Um
formulário (form) só recebe o foco quando todos os
controles visíveis estão desabilitados.
Sintaxe Sub Form_GotFocus()
Sub controle_ GotFocus(Índex As Integer)
Comentários O argumento Index identifica um controle unicamente se
este for parte de um array de controles.
Um objeto só pode receber o foco se estiver visível
(Visible=True) e habilitado (Enabled=True). Objetos podem
receber foco também através da tecla de tabulação. Neste
caso, a ordem de tabulação será ditada pela propriedade
Tab order.
KeyDown, KeyUp
Aplicação Form (não MDI), check box, combo box, command button,
directory list box, drive list box, file list box, grid, horizontal
scroll bar, list box, OLE, option button, picture box, text box,
vertical scroll bar.
Descrição Ocorre quando o usuário pressiona (KeyDown) ou libera
(KeyUp) uma tecla enquanto um objeto tem o foco (para
interpretar caracteres ANSI, usar o evento KeyPress).
Sintaxe Sub Form_KeyDown(KeyCode As Integer, Shift As
Integer)
Sub controle_KeyDown([Index As Integer,]KeyCode As
Integer, Shift As Integer)
Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Sub controle_KeyUp([Index As Integer,]KeyCode As
Integer, Shift As Integer)
Comentários Os eventos KeyDown e KeyUp têm os seguintes
argumentos:
Argument Descrição
KeyPress
Aplicação Form (não MDI), check box, combo box, command button,
directory list box, drive list box, file list box, grid, horizontal
scroll bar, list box, OLE, option button, picture box, text box,
vertical scroll bar.
Descrição Ocorre quando o usuário pressiona e libera uma tecla
ANSI.
Sintaxe Sub Form_KeyPress(KeyAscii As Integer)
Sub controle_KeyPress([Index As Integer,]KeyAscii As
Integer)
Comentários O eventos KeyPress tem os seguintes argumentos:
Argument Descrição
LinkClose
LinkError
Nº do Descrição
1 O outro aplicativo requisitou dados em um formato
errado.
6 O aplicativo de destino tentou continuar uma operação
DDE após a propriedade LinkMode do formulário
source ter sido igualado a zero.
7 Todas as source links estão sendo usadas.
8 O método LinkRequest falhou em atualizar os dados no
controle.
LinkError
Argument Descrição
LinkNotify
LinkOpen
Argument Descrição
Load
LostFocus
MouseDown, MouseUp
Aplicação Form (não MDI), check box, command button, data control,
directory list box, file list box, frame, grid, image, label, list
box, option box, OLE, picture box, text box.
Descrição Ocorre quando o usuário pressiona (MouseDown) ou libera
(MouseUp) um botão de mouse.
Sintaxe
Sub Form_MouseDown (Button As Integer, Shift As
Integer, X As Single, Y As Single)
Sub controle_MouseDown ([Index As Integer,]Button As
Integer, Shift As Integer, X As Single, Y As Single)
Sub Form_MouseUp (Button As Integer, Shift As Integer,
X As Single, Y As Single)
Sub controle_MouseUp ([Index As Integer,]Button As
Integer, Shift As Integer, X As Single, Y As Single)
Comentários Os eventos MouseUp e MouseDown utilizam os seguintes
argumentos.
Argument Descrição
MouseMove
Aplicação Form (não MDI), check box, command button, data control,
directory list box, file list box, frame, grid, image, label, list
box, option box, OLE, picture box, text box.
Descrição Ocorre quando o usuário move o mouse através do objeto.
Sintaxe
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Sub controle_MouseMove ([Index As Integer,]Button As Integer,
Shift As Integer, X As Single, Y As Single)
Comentários O evento MouseMove utiliza os seguintes argumentos:
Argument Descrição
Paint
PathChange
PatternChange
QueryUnLoad
Argument Descrição
Valo Descrição
Resize
Scroll
Timer
Aplicação Timer.
Descrição Ocorre quando transcorreu o intervalo de tempo definido
para o Timer.
Sintaxe Sub controle_Timer([Index As Integer])
Comentários O argumento Index identifica um controle unicamente se
este for parte de um array de controles.