Visual Basic
Autor:
Introdução
O que é o Visual Basic ?
O Visual Basic é um compilador do tipo QuickBasic para criação de aplicativos para Windows, ele é na realidade, uma aplicação do próprio Windows. É dessa forma que os programas em Visual Basic podem ser criados, rodados, depurados e compilados diretamente no Windows. O Visual Basic possibilita aos usuários a programação baseada em eventos e objetos. Isto quer dizer que o programador coloca na janela todas as opções (menus, botões, ícones, controles, etc...) para que o usuário selecione uma delas com o mouse ou com o teclado. Antes do Visual Basic uma aplicação era desenvolvida em linguagem C, juntamente com o Kit de Desenvolvimento de Software do Windows, o que demandava muito tempo de aprendizagem.
Linguagem Baseada em Eventos
Ao darmos um clique com o mouse em um determinado objeto de um aplicativo Visual Basic, por exemplo um botão, estamos gerando um evento dentro do Windows o qual fará com que um determinado pedaço de código seja executado. Podemos, também, colocar da seguinte maneira: um determinado pedaço de código foi executado em decorrência de um evento gerado com o clique do mouse. Se o tal botão nunca for apertado aquele código poderá jamais ser
executado. Programadores de linguagens voltadas para DOS, estão acostumados a escrever códigos que são executados de maneira sequencial, ou seja, o
programa é orientado por sequência, isto quer dizer que as linhas de código são executadas uma após a outra durante todo o programa. Enquanto o programa não chega na última linha de código ele não para a não ser que o usuário intervenha finalizando o programa antes que ele termine. No Windows é diferente. Não existe um corpo de programa com início, meio e fim. O programa é orientado por
eventos. Normalmente, um programa para Windows apresenta várias opções possíveis na tela para que o usuário as selecione conforme sua necessidade, representando, assim, um modo completamente novo de se programar. O Visual Basic é uma linguagem baseada em eventos. Isso quer dizer que o responsável pelo fluxo do programa é o usuário e não mais o programador. Devemos ter isso em mente quando estivermos projetando um aplicativo. Na programação
orientada por sequência, normalemente o usuário entra com os dados na
sequência determinada pelo programador. O Visual Basic permite que o usuário entre com os dados na ordem que preferir.
Linguagem Baseada em Objetos
Outra característica importante do Visual Basic é a de ser uma linguagem
baseada em objetos. As linguagens como o C++ e o Pascal por exemplo, também baseadas em objetos, possuem classe e herança. No Visual Basic, os objetos são pré-definidos, isto é, já existe uma coleção de objetos que acompanham o
software. Para criar novos objetos, o programador deverá utilizar a opção User Control como sendo o tipo de projeto a ser realizado. Os novos objetos só
poderão ser criados a partir de um outro objeto já existente, portanto basicamente esse novo objeto terá as mesmas características do objeto que serviu de base. Para criar objetos capazes de realizar funções diferentes dos objetos existentes, você deverá criá-los em linguagem C. Dentro do Visual Basic, os objetos são, por
exemplo, menus, janelas, botões, quadros de texto, etc... Melhor especificados no capítulo sobre objetos. Cada um dos objetos possui várias propriedades, métodos e eventos associados à eles.
Ambiente de Desenvolvimento
O ambiente de programação do Visual Basic é composto pelas seguintes janelas: Janela Principal, Caixa de Ferramentas, Janela de Propriedades,
Janela de Projeto, Janela de Código e Formulário. É através dessas janelas
que podemos escolher os objetos que farão parte do nosso programa, configurar suas propriedades conforme a especificação do programa, escolher os eventos que serão utilizados, etc.
Janela Principal
Essa janela é a responsável pelo controle geral do ambiente de programação do Visual Basic e contém uma barra de ferramentas e de menus. O menu Help, fornece informações sobre todos os objetos e características do Visual Basic. Está também disponível, através da tecla "F1" um Help On-Line, no qual podemos obter informações detalhadas de um objeto previamente selecionado. Através desses recursos, também podemos obter informações sobre a linguagem QuickBasic utilizada no Visual Basic. Com a barra de ferramentas, temos um acesso mais rápido das funções do menu mais utilizadas.
Barra de Título
A barra de título é a barra horizontal localizada no topo da tela; ela informa o nome do aplicativo e é comum a todos os aplicativos Windows da Microsoft. Interações entre o usuário e a barra de título são manipuladas pelo Windows e não pelo aplicativo. Tudo o que está abaixo da barra de título e da barra de menu,
em um aplicativo Windows, é chamado de área do cliente. Seu aplicativo é
totalmente responsável pela aparência, conteúdo e resposta dos objetos que você alojou nessa área.
Barra de Objetos
Essa barra está localizada à esquerda da tela do Visual Basic, logo abaixo da barra de ferramentas e possui os objetos gráficos (botões, caixas de texto, caixa de figura, etc...) disponíveis para serem utilizados dentro do projeto. O Visual Basic chama esses objetos de controles. O ambiente que você está utilizando pode apresentar mais figuras do que o mostrado abaixo. Isso deve-se ao fato de o Visual Basic ser um ambiente de programação aberto e extensível, ou seja, além dos controles disponíveis no Visual Basic, podemos adquirir outros controles fornecidos por outras empresas ou construir o nosso próprio controle.
Janela de Propriedades
As propriedades definem as caracte- rísticas de cada objeto - controle da aplicação. O conjunto de
propriedades depende do controle selecionado. Por exemplo, um formulário tem propriedades diferentes de uma figura. As propriedades podem ser alteradas em tempo de projeto ou de execução, sendo que algumas delas somente em tempo de execução. Para alterar o valor de uma propriedade em tempo de execução só por meio de programação a ser carregada através de um objeto, por exemplo um botão ou assim que o programa for carregado, já em tempo de projeto, devemos:
1. Selecionar o controle cuja propriedade deseja alterar;
2. Rolar pela lista de propriedades até encontrar a propriedade desejada; 3. Digitar o novo valor;
4. Pressionar ENTER para confirmar a alteração efetuada.
Esssa janela possui uma lista dos
arquivos que estão sendo utilizados dentro do programa que estamos desenvolvendo. Podemos ter arquivos com extensões "BAS" , "FRM" ,"VBP" e outros dentro dessa janela. O Visual Basic organiza os trabalhos por projeto, permitindo que cada projeto possa ter vários módulos.
Janela de Código
Essa janela con- tém a declaração de variáveis, constantes e rotinas. Na figura ao lado, po- demos ver dois quadros combo, um contendo a lista de objetos dentro do nosso programa e o outro uma lista de eventos disponíveis para cada um dos objetos. Podemos observar na figura que o evento selecionado é o "Click" e o objeto é o formulário. O comando Beep na linguagem do Visual Basic gera um aviso originário do alto-falante do PC. Portanto cada vez que o usuário der um clique com o mouse no formulário o procedimento "Form_Click( )" será executado e gerará um "beep".
Funções e Sub-Rotinas
As funções (functions) e sub-rotinas (subs) são chamadas de procedimentos (procedures). Existem três tipos de procedimentos:
1.) do Visual Basic;
2.) associados aos eventos; 3.) criados pelo programador.
Os procedimentos do Visual Basic são, por exemplo, os métodos, as funções matemáticas, as funções manipuladoras de "Strings", etc. Os procedimentos associados aos eventos são aqueles procedimentos que são chamados em resposta a um evento. Adicionamos códigos a eles através da Janela de Código do formulário. Os procedimentos criados pelo programador são aquelas sub-rotinas e funções utilizadas para melhorar a estruturação do código. Podemos ter, por exemplo, uma função que abre um arquivo. Essa função trataria os possíveis erros e retornaria o número do arquivo aberto. Esse procedimento estaria
declarado dentro do objeto "General" da Janela de Código de um formulário ou de um módulo. Dentro do Visual Basic, a diferença entre uma função e uma sub-rotina é que a função retorna um valor e a sub-sub-rotina não.
Essa é a janela do nosso aplicativo. Quando o usuário iniciar o programa, a mesma aparecerá. A janela possui os quadros minimizar, maximizar, fechar e menu de controle. É nessa janela que colocaremos os controles gráficos (botões, quadros de texto, etc) e também o código associado a esses objetos. Para abrir uma janela de código, basta dar um duplo clique em cima do objeto do qual um evento deve ser tratado.
Menus
Menu File
Você precisará do menu principal File para trabalhar com os arquivos que compõem seu projeto. Esse menu inclui comandos para salvar, abrir e imprimir arquivos. O menu File também permite que você saia do Visual Basic através de um item para isso, a outra maneira é utilizando as teclas de combinação do Windows ALT + F4 quando estiver posiconado na barra de menu principal. Como em qualquer aplicativo Windows, você também poderá abrir a caixa de controle na barra de menu e escolher Exit ou dar um duplo clique nessa caixa.
A maioria dos itens do menu principal File é útil apenas quando você inicia o desenvolvimento de seu próprio aplicativo. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:
Menu Edit
Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:
O menu Project comtém itens que possibilitam a inserção de vários
procedimentos, janelas, códigos, módulos, etc. em seus projetos. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:
Menu Format
Menu Run
Menu Tools
Menu Add-Ins
O menu Add-Ins lhe permite acessar ferramentas separadas que podem ser incorporadas ao Visual Basic. Existem dois Add-Ins fornecidos com várias versões do Visual Basic. O Report Manager, que é representado pelo software da empresa Seagate Crystal Reports, atualmente na versão 7.0, é uma ferramenta completa para modificar e criar relatórios que você poderá utilizar em seu programa. A outra ferramenta inclusa é o Visual Data Manager, que é usado para gerenciamento de Banco de Dados. Utilize o Add-In Manager para adicionar e remover Add-Ins do menu.
Menu Window
Menu Help
Janelas
Janela de Projetos
Esta janela comtém informações sobre o projeto em uso. É nela que serão exibidos todos os projetos utilizados ao mesmo tempo, caso existam, ou o único projeto aberto. Abaixo do projeto, estarão definidos os nomes dos formulários em uso no projeto.
Você notará que existem dois nomes independentemente do que estiver sendo exibido nesta janela. O primeiro nome é o nome lógico (nome dado ao objeto) e o segundo nome é o nome físico (nome dado ao arquivo), este estará sendo exibido sempre entre parênteses.
Ainda nesta janela através das ícones, temos a possibilidade de ir até a janela de código, (janela em que se programa as atividades para os objetos), voltar para o modo de exibição do formulário e também exibir os formulários em formato de pastas de um projeto.
É nesta janela que o programador altera as características originais dos objetos utilizados no(s) formulário(s) do programa. Quando se cria um objeto dentro do formulário, devemos selecioná-lo clicando apenas uma vez nele mesmo no formulário e depois clicar na janela de propriedades, onde serão isoladas apenas as propriedades do objeto selecionado. Então o programador irá alterar algumas das propriedades adequando assim o objeto a ficar com as características e aparência desejada.
Esta mesma janela, possui uma caixa combo situada ao topo. Esta caixa contém o nome de todos os objetos utilizados no formulário em desenvolvimento.
Esta é a outra forma do programador localizar e selecionar o objeto para trabalhar com suas propriedades sem ter que selecioná-lo no formulário.
Obs: As propriedades dos objetos também podem ser alteradas através de
programação na janela de código, para que os objetos sofram as alterarações no decorrer do programa, devido aos eventos em que foram programados.
Janela de Posicionamento do Formulário
É através desta janela que o programador posiciona o local em que o formulário aparecerá assim que o programa for executado. Outra maneira de fazer isto, é acessando a propriedade do formulário Startup Position e escolher a opção
CenterScreen, mas não será possível acessar esta propriedade, caso esteja
sendo usado um formulário do tipo MDI. Então o posicionamento deverá ser feito através de programação ou por esta janela.
Private Sub Form_Load ( )
Top = (Screen.Height - Height) / 2 Left = (Screen.Width - Width) / 2 End Sub
Comandos mais Utilizados
Os comandos mais comumente utilizados no Visual Basic, estão descritos nos sub-ítens deste capítulo, são eles:
Comandos Objetivo
MsgBox (Caixa de Mensagem) Emitir um aviso ao usuário InputBox (Caixa de Entrada) Pedir informação ao usuário If...End If (Se...Fim) Fazer Perguntas ou Validações Unload me - End (Encerrar) Fechar um Formulário ou Software
Comentários
Comentários são utilizados, como lembretes de informação junto à programação e são muito importantes porque poderão auxiliar na documentação do software.
MsgBox
Exibe uma mensagem em uma caixa de diálogo, esperando pelo usuário clicar um botão, e retorna um valor indicando que o usuário clicou o botão.
Sintaxe
MsgBox(prompt[, buttons][, title][, helpfile, context]) A sintaxe do comando MsgBox tem estes argumentos:
Partes Descrição
Prompt
Expressão texto exibida como a
mensagem em uma caixa de diálogo. A quantidade máxima de caracteres que poderão ser utilizados em uma
mensagem é de aproximadamente 1024 caracteres, dependendo da
largura ocupada pelos caracteres usados. Se a mensagem consiste em mais do que uma linha, você pode separar as linhas usando um caracter de retorno (Chr(13)), alimentando linha com um ENTER, caracter (Chr(10)), alimentando linha com a quebra da mesma, ou ainda usar uma
combinação (Chr(13) & Chr(10)) entre cada linha.
Buttons
Expressão numérica que representa a soma dos valores, especificando o número e o tipo de botões para exibir, o estilo da ícone para usar, a
identidade do botão padrão, e a modalidade da caixa de mensagem. Veja as opções na seção para valores. Se omitidos, o valor padrão para
botões é 0.
Title
Expressão de texto exibida na barra de título da caixa de diálogo. Se você omitir o título, o nome da aplicação entra no lugar da barra de título.
Helpfile
Não suportada.Context
Não suportada.Opções
As opções de argumentos do botão são:
Constantes Valor Descrição
vbOKOnly
0
Exibe somente o botão de ok.
vbOKCancel
1
Exibe os botões de ok e cancelar.
vbAbortRetryIgnore
2
Exibe os botões abortar, repetir e
ignorar.
vbYesNoCancel
3
Exibe os botões sim, não e cancelar.
vbYesNo
4
Exibe os botões de sim e não.
vbRetryCancel
5
Exibe os botões repetir e cancelar.
vbCritical
16
Exibe a ícone de mensagem de
parada crítica.
vbExclamation
48
Exibe a ícone de mensagem de alerta.
vbInformation
64
Exibe a ícone de mensagem informativa.
vbDefaultButton1
0
O primeiro botão é padrão.
vbDefaultButton2
256
O segundo botão é padrão.
vbDefaultButton3
512
O terceiro botão é padrão.
vbDefaultButton4
768
O quarto botão é padrão.
vbApplicationModal
0
Modalidade da Aplicação; o usuário
deverá responder a mensagem da
caixa antes de continuar trbalhando
na aplicação em utilização.
vbSystemModal
4096
Modalidade do Sistema; todas as
aplicações são suspendidas até que
o usuário responda a caixa de
mensagem.
O primeiro grupo de valores(0–5) descreve o número e o tipo de botões exibidos na caixa de diálogo; o segundo grupo (16, 32, 48, 64) descreve o estilo da ícone; o terceiro grupo (0, 256, 512, 768) determina qual botão é o padrão; e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem. Quando estiver adicionando números para criar um valor final para os argumentos dos botões, use somente um número de cada grupo.
Retorno de Valores
A caixa de mensagem segue os valores retornados abaixo:
Obs: Se a caixa de
diálogo exibe um botão de cancelar, pressionando a tecla ESC obtem-se o mesmo efeito como ter clicado o botão de cancelar.
InputBox
DescriçãoExibe um prompt em uma Caixa de Diálogo, esperando que o usuário entre com um texto ou clique um botão, e retorna o conteúdo de um TextBox.
Constantes Valor Botões
vbOK 1 OK vbCancel 2 Cancelar vbAbort 3 Abortar vbRetry 4 Repetir vbIgnore 5 Ignorar vbYes 6 Sim vbNo 7 Não
Sintaxe
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context]) A sintaxe do InputBox possui estes argumentos:
Partes Descrição
Prompt
É exibida uma mensagem em formato texto em uma caixa de diálogo. O tamanho máximo da mensagem é aproximadamente 1024 caracteres, dependendo da largura dos caracteres usados. Se a mensagem consiste de mais do que uma linha, você pode separar as linhas usando um caracter de retorno (Chr(13)), alimentando linha com um ENTER, caracter (Chr(10)), alimentando linha com a quebra da mesma, ou ainda usar uma
combinação (Chr(13) & Chr(10)) entre cada linha.
Title
Expressão de texto exibida na barra de título da caixa de diálogo. Se você omitir o título, o nome da aplicação entra no lugar da barra de título.
Default
Expressão de texto exibida na caixa de texto como a resposta padrão se outra entrada não é providenciada. Se você omitir default, a caixa de texto é exibida vazia.
xpos
Expressão numérica que especifica, em pixels, a distância horizontal da margem esquerda da caixa de diálogo da margem esquerda da tela. Se xpos é omitida, a caixa de diálogo é
centralizada horizontalmente.
ypos
Expressão numérica que especifica, em pixels, a distância vertical da margem superior da caixa de diálogo do topo da tela. Se ypos é omitida, a caixa de diálogo é posicionada
verticalmente aproximadamente em 1/3 da altura da tela.
Helpfile Não suportada.
Obs: Se o usuário clicar OK ou pressionar ENTER, o retorno da caixa de entrada
contudo está na caixa de texto. Se o usuário clicar Cancelar, o retorno é um texto de tamanho zero ("").
IF ... ENDIF
Condicionalmente executa uma seleção de comandos baseados no valor de uma expressão lógica.
Sintaxe
IF Expressão [THEN] Comandos [ELSE Comandos] ENDIFArgumentos
ExpressãoEspecifica a expressão lógica que recebe valor. Se a Expressão recebe valor verdadeiro (.T.), qualquer comando seguido do IF ou THEN e prescedendo ELSE ou ENDIF (que sempre ocorrerão primeiro) são executados.
• Se a Expressão é falsa (.F.) e o ELSE é incluído, qualquer comando depois do ELSE e antes do ENDIF é executado.
• Se a Expressão é falsa (.F.) e o ELSE não é incluído, todos os comandos entre o IF e o ENDIF são ignorados. Neste caso, a execução do programa continua com o primeiro comando seguindo até o ENDIF.
Obs: Você pode definir um bloco IF ... ENDIF sem outro bloco IF ... ENDIF. Os
comentários precedidos por && podem estar especificados em alguma linha depois de IF, THEN, ELSE, and ENDIF. Estes comentários são ignorados durante a compilação e execução do programa.
Unload - End
Unload
O comando Unload é utilizado para fechar formulários que integram um projeto. Pode ser usado de duas formas:
Sintaxe:
• Unload Me; • Unload Form1.
Quando escrevemos Me, estamos nos referindo ao formulário atual em uso. Isto é feito para substituir o nome do formulário, quando o nome fornecido a ele na propriedade name é muito grande. Já no segundo caso, utilizamos o nome de um Formulário. Portanto, mesmo estando em um determinado formulário, ao
clicarmos em um botão por exemplo, podemos estar fechando um outro
formulário, basta apenas escrever Unload e fornecer o nome do formulário a ser fechado.
Os únicos casos em que o comando Unload seguido de Me ou diretamente do nome de um Form qualquer poderá estar fechando um projeto, serão:
• Se estivermos diretamente no formulário principal de um sistema; • Se estivermos na única tela de um programa.
End
O comando End é utilizado para encerrar o programa, lembrando que End
significa Fim. Geralmente encontra-se em um ítem de menu descrito como Sair ou Fechar, em um botão, ou diretamente na programação, fazendo com que o
sistema encerre-se propositalmente após algumas interaçõs do usuário.
Comentários
Comentários são acrescidos ao programa para explicar o que um código faz. É muito simples perguntar-se por que os comentários são importantes - até que você tente modificar ou consertar um programa que alguém escreveu ou mesmo que você escreveu meses atrás. Os comentários não são executados nem processados pelo Visual Basic. Eles não ocupam nenhum espaço nos códigos compilados. Existem duas formas de indicar um comentário. A forma usual é indicar um comentário com aspas simples. Veja o exemplo abaixo:
Private Sub Command1_Click ( )
' Um comentário descrevendo o procedimento que viria aqui ' Toda linha de comentário ficará na cor verde
End Sub
Obs: Você pode utilizar a velha palavra-chave Rem.
Você poderá também acrescentar comentários no final das linhas. Nesse caso é mais prático utilizar aspas simples, porque a forma Rem requer dois-pontos antes dele.
Objetos
A Terminologia do Visual Basic
Propriedade, Método e Evento
O Visual Basic é composto de formulários e controles genericamente chamados de objetos. Cada um dos objetos possui várias propriedades listadas na Janela
de Propriedades.
As propriedades dos objetos nos permitem saber e modificar as características desses objetos. Por exemplo, o nome, a cor, o tamanho, a legenda, o tipo e o tamanho da fonte com que o texto aparece e sua posição, são propriedades associadas aos quadros de texto, "Labels" (legendas) e botões de controle, opção e de seleção.
Ao selecionarmos um determinado objeto, dando um clique com o mouse sobre ele, a Janela de Propriedades automaticamente listará as propriedades
disponíveis para aquele objeto e então poderemos modificá-las.
Cada objeto reconhece as seguintes ações, tais como um clique do mouse, abertura de formulário, digitação em um quadro de texto, etc. Essas ações são chamadas de eventos.
Para uma aplicação responder às ações do usuário e aos eventos do sistema, são utilizados os procedimentos associados a cada evento. Por exemplo, um botão de controle reconhece os seguintes eventos:
Eventos Ações
Click Um botão é acionado com o mouse ou com o teclado.
DragDrop Um controle é solto em cima do botão.
DragOver Um controle está sendo arrastado sobre o botão.
GotFocus O botão recebe a atenção do sistema, ou seja, qualquer ação do usuário
através do mouse ou teclado será recebida pelo botão.
KeyDown Uma tecla é pressionada enquanto o botão tem a atenção do sistema.
KeyPress Uma tecla é pressionada e um valor AscII é retornado.
LostFocus O botão perde a atenção do sistema para outro objeto.
Quando um evento ocorre em uma aplicação, o sistema automaticamente reconhece o evento e executa o código associado a esse evento escrito pelo programador. Esse código é chamado de procedimento do evento ("Event
Procedure"). Esse procedimento aparece na Janela de Código.
O nome do procedimento associado ao evento é composto pelo nome do objeto e pelo nome do evento. O nome do objeto para todos os formulários é "Form" e para os controles é o que aparece na propriedade "Name" do controle.
Devemos escrever código somente para os eventos que serão utilizados em nossa aplicação.
O método é um procedimento ("Function ou Sub") que atua nos objetos. Por exemplo, um quadro de lista é um controle que possui os seguintes métodos:
Métodos Ações
AddItem Adicionar um novo item no quadro de lista durante o tempo de
execução, ou seja, quando o programa está sendo executado.
Clear Limpar o conteúdo do quadro de lista.
Move Movimentar o quadro de lista para uma nova posição no formulário.
Refresh Forçar uma atualização imediata o quadro de lista.
RemoveItem Remover um item do quadro de lista.
SetFocus Fazer com que o sistema transfira sua atenção para o quadro de
lista.
Formulários
Os formulários são utilizados como interface com o usuário dentro de uma aplicação. Cada formulário é uma janela que pode conter controles, gráficos e outros formulários. Podemos utilizar os formulários como uma tela de ilustração, um quadro de diálogo ou como um formulário que contém outro. Podemos modificar o tamanho e localização na tela do formulário, clicando e arrastando o mouse na borda e na barra de título desse formulário, respectivamente.
Além dos controles, os formulários podem conter código e variáveis. Na verdade, cada formulário possui a própria janela de código. Dentro do objeto "General" da janela de código, podemos declarar variáveis, constantes e procedimentos criados por nós. Na janela de projeto, os arquivos com extensão ".FRM" contém, cada um, um formulário, os controles contidos nele, uma lista das propriedades do
formulário e dos controles, as variáveis e constantes utilizadas e o código associado.
Um projeto pode conter vários formulários e podemos adicionar um novo
formulário selecionando o item "Add Form" dentro do menu "Project". Podemos ter ainda outro tipo de formulário: o do tipo "MDI" (Multiple Document Interface). Esse tipo de formulário pode conter outros formulários dentro dele. Cada projeto pode conter apenas um formulário do tipo "MDI". Os formulários que estão dentro do formulário "MDI" possuem a propriedade "MDIChild" como "True" e são
chamados de formulários Filho. Adicionamos um formulário "MDI" ao projeto selecionando o item "Add MDI Form" dentro do menu "Project".
Controles
Sao ferramentas utilizadas nos formulários para receber e mostrar informações. Os quadros de texto, botões, rótulos,quadros de figuras, etc., são exemplos de controles. Os controles disponíveis em um projeto são mostrados na Caixa de Ferramentas ("ToolBox") e possuem a extensão de arquivo "OCX". Para inserir uma ferramenta de controle em seu projeto em Visual Basic, você deve selecionar o item "Components..." dentro do menu "Project", normalmente os arquivos
".OCX", encontram-se no diretório "WINDOWS\SYSTEM", mas você pode importá-los de outros diretórios normalmente.
Podemos inserir um controle no formulário de trabalho de duas maneiras: 1. Dando um duplo clique com o mouse no controle localizado na caixa de
ferramentas;
2. Selecionar o controle na Caixa de Ferramentas. Dar um clique com o botão do mouse na posição desejada do formulário (ponto inicial) e arrastar até conseguir o tamanho desejado, soltando em seguida o botão (ponto final). Para os controles já localizados no formulário, podemos modificar o seu tamanho da seguinte maneira:
1. Selecionar o controle do formulário dando um clique com o mouse; 2. Apertar o botão da esquerda do mouse sobre um dos quadrados
localizados na borda do controle;
3. Arrastar o mouse até o tamanho desejado; 4. Soltar o botão.
Podemos mudar a posição dos controles localizados no formulário da seguinte maneira:
1. Posicionar o apontador do mouse no meio do controle;
2. Apertar o botão da esquerda do mouse e arrastar até a posição desejada;
3. Soltar o botão.
Para modificar a propriedade dos controles, devemos: 1. Selecionar o controle;
2. Selecionar a propriedade desejada da Janela de Propriedades;
3. Modificar a propriedade.
São arquivos de extensão ".BAS" que contém declarações (variáveis e
constantes) e procedimentos (funções e subrotinas). Podemos criar um módulo selecionando o item "Module" dentro do menu "Project". O Visual Basic mostra uma janela de código com o título "Module". Podemos também ver, na janela de projeto, o arquivo criado.
É aconselhável trocarmos o nome padrão dado pelo Visual Basic, pois os arquivos ".BAS" são uma maneira de reaproveitarmos as mesmas funções e subrotinas para várias aplicações. Selecionando o item "Save File As..." dentro do menu "File", podemos fazer essa alteração.
Projeto
É um arquivo ".VBP" que contém a lista dos fornulários, módulos e controles que compõem uma aplicação. Repetindo, a Janela de Projeto lista todos os arquivos da aplicação. Cada projeto contém pelo menos um formulário. Podemos inserir quantos formulários desejarmos dentro de um projeto. Selecionamos o item "New Project" dentro do menu "File" para criarmos um novo projeto. O Visual Basic abre esse novo arquivo com o nome padrão de "Project1.vbp" É aconselhável
modificarmos esse nome, selecionando o item "Save Project As..." dentro do menu "File".
Etapas de Desenvolvimento de um Projeto
Há três etapas para a criação de um aplicativo em Visual Basic. 1. Criar a interface com o usuário;
2. Configurar as propriedades dos objetos;
3. Escrever o código.
Para criarmos a interface com o usuário, podemos seguir os seguintes passos: 1. Abrir um novo projeto;
2. Salvar o projeto e o formulário criado com os nomes desejados; 3. Modificar o tamanho do formulário, adequando-o aos requisitos do
programa.
4. Adicionar os controles necessários (botões, quadros de texto, etc.); 5. Adicionar mais formulários e controles;
6. Salvar esses formulários com os nomes escolhidos;
7. Salvar todo o projeto.
Na segunda etapa do desenvolvimento, devemos configurar as propriedades de todos os objetos. É muito importante, nessa etapa, darmos nome a cada um dos objetos, configurando-os através de sua propriedade "Name". É aconselhável, para uma boa documentação, incluirmos no nome do objeto o seu tipo também. Por exemplo, podemos dar o nome "frmprincipal" para a janela (formulário) que iniciará a aplicação. No item "Properties..." do menu "Project", podemos ver e alterar o formulário que inicia o aplicativo.
Na terceira etapa, adicionamos o código, ou seja, projetamos como o programa responderá aos diferentes eventos (cliques, duplo cliques, teclas adicionadas, interrupção causada pelo temporizador, redimensionamento de uma janela, etc.).
Devemos lembrar que essas três etapas não dispensam um projeto de software detalhado, isto é, como o programa deverá funcionar, como será o fluxo de dados dentro do programa, os algorítmos utilizados, a interface com o usuário, etc.
Propriedades e Eventos mais Utilizados
Propriedades comuns a todos os objetos:
Proriedades Ações
BackColor Determinar a cor de fundo de um objeto.
Enabled Determinar se o formulário ou controle podem responder aos
eventos gerados pelo usuário.
Font
Determinar a fonte, o estilo e tamanho a ser usada para mostrar um texto em um controle; é usada também em tempo de
execução para desenhar e imprimir.
ForeColor Determiar a cor do texto impresso.
Height Determinar a dimensão vertical externa de um objeto.
Left Determinar a distância entre a borda esquerda de um objeto e a
borda esquerda do objeto que a contém.
MousePointer Determinar o tipo do ponteiro do mouse mostrado quando ele está
sobre uma parte específica de um formulário ou controle.
Name
Especificar o nome usado no código para identicar um fomulário, controle ou objeto de acesso a dados. Não está disponível em tempo de execução.
ToolTipText Exibir uma janela de assistência junto ao ponteiro do mouse,
movendo-o sobre um formulário ou controle.
Top Determinar a distância entre a borda interna superior de um
objeto e a borda superior do objeto que o contém.
Visible Determinar se o objeto está visível ou não.
Width Determinar a dimensão horizontal de um objeto.
Eventos comumente utilizados nos objetos:
Eventos Ações
Activate Ocorre quando um formulário se tornar uma janela ativa.
Change
Ocorre quando o conteúdo de uma caixa de combinação (caixa combo), barra de paginação (barra de rolagem), etiqueta, caixa de figura ou caixa de texto mudar.
Click
Ocorre quando o usuário pressiona e solta o botão do mouse sobre um objeto. Pode também ocorrer quando o valor do controle é modificado.
DblClick Ocorre quando o usuário dá um duplo clique com o mouse.
DragDrop
Ocorre quando uma operação de " arrastar e soltar" é completada como resultado do arrastamento sobre um formulário ou controle e soltura do botão do mouse.
DragOver
Ocorre quando uma operação de "arrastar e soltar" está em progresso. Pode ser utilizado para monitorar se o ponteiro do mouse entra, deixa ou está diretamente sobre um alvo válido. O ponteiro do mouse determina que o objeto recebe o evento.
GotFocus
Ocorre quando um objeto recebe a atenção do sistema (focus). Iremos notar que um formulário recebe a atenção somente quando todos os controles visíveis estão desabilitados.
KeyDown Ocorre quando o usuário pressiona uma tecla.
KeyPress Ocorre quando o usuário pressiona e solta uma tecla. KeyUp Ocorre quando o usuário solta a tecla previamente
pressionada.
LostFocus Ocorre quando um objeto perde a atenção do sistema (focus). MouseDow
n Ocorre quando o usuário pressiona o botão do mouse. MouseMove Ocorre quando o usuário movimenta o mouse.
MouseUp Ocorre quando o usuário solta o botão do mouse previamente
pressionado.
Controles
Todos os controles possuem abreviações para facilitar a programação. Assim caso, o programador esteja lendo um artigo ou desenvolvendo um programa que esteja em um livro (ou outra) fonte) e não exista uma foto ao menos da tela deste programa, ele facilmente poderá identificar os controles existentes dentro deste programa apenas acompanhando suas abreviações. Abaixo seguem as
Controles Abreviações CheckBox CHK ComboBox CMB CommandButton CMD Data (Control) DTC DirListBox DIR DriveListBox DRV FileListBox FIL Form FRM Frame FRM HScrollBar SCR Image IMG Label LBL Line LIN ListBox LST Ole OLE OptionButton OPT PictureBox PCT Shape SHP TextBox TXT Timer TMR VScrollBar SCR
As Propriedades Principais do CheckBox
Propriedade
s Ações
Alignment Especifica se o texto ficará do lado esquerdo da caixa. Caption O texto anexado ao objeto checkbox.
Enabled Habilita ou não este objeto. Estando desabilitado, não aceitará que o usuário
faça evento com a caixa de checagem.
Font Escolhe uma fonte para o texto digitado no caption.
Name Nomeia o objeto. A inicial abreviada para este tipo de controle é "chk".
Value Determina o estado do objeto: unchecked, checked ou grayed.
As Propriedades Principais do ComboBox
Propriedade
s Ações
Style Escolhe o tipo de caixa de combinação que será utilizada: dropdown
combo, simple combo, dropdownlist.
Text Nesta propriedade digita-se um texto que ficará como padrão, fixo na área
de texto, na caixa de combinação. Geralmente deixa-se em branco.
As Propriedades Principais do CommandButton
Propriedades Ações
Cancel
Se esta opção for ajustada como verdadeira, o botão será associado a tecla ESC e sempre que pressionarmos essa tecla, será como se tivéssemos apertado o botão.
Caption O título que será exibido dentro do botão.
Default
Estando o botão com essa propriedade como True, indica que este botão será o padrão desta janela e sempre que apertarmos a tecla ENTER, será como se tivéssemos clicado sobre o botão.
Enabled Determina se o botão será habilitado para pressionamento por parte
do usuário ou não.
Font Escolhe a fonte de letra que o Caption terá.
Name O nome que daremos para o objeto botão de comando.
Visible Determina se o botão será visível para o usuário quando o programa estiver
em execução.
As Propriedades Principais do Data
Propriedades Ações
DataBaseNam
e Localização da base de dados a ser utilizada pelo programa. RecordSource Associa a tabela da base de dados a ser utilizada pelos campos
As Propriedades Principais do Form
Propriedades Ações
Apperance Define se o modo de exibição será 3D ou normal.
BackColor Muda a cor de fundo do formulário.
BorderStyle
Muda o tipo de borda do formulário.
None: Sem borda, sem barra de título, sem menu de controle, sem
botão maximizar e sem botão minimizar e não pode redimensionar a janela.
FixedSingle: Borda Fixa. Aceita o menu de controle, maximizar,
minimizar, barra de título e pode ser redimensionada.
Sizable: Borda comum. Possui o menu de controle, maximizar,
minimizar, barra de título e pode ser redimensionada.
Fixed Dialog: Muito usada para janelas que vão manter um diálogo com
o usuário. Ela pode ter menu de controle e a barra de título, mas não terá os botões de maximizar e minimizar. Não pode ser redimensionada.
Fixed ToolWindow: Não possui o menu de controle, o botão maximizar
e o botão minimizar. Também não pode ser redimensionada. Aparecerá somente a barra de título e o botão fechar, próprio do windows, esse tipo de formulário não aparece na barra de tarefas do windows.
Sizable ToolWindow: Não possui o menu controle, o botão maximizar e o botão minimizar. Pode ser redimensionada. Aparecerá somente a barra de título e o botão fechar, próprio do windows,esse tipo de formulário não aparece na barra de tarefas do windows.
Caption Será o texto mostrado na barra de título do formulário (da janela).
ControlBox Retira ou coloca o menu de controle, botão maximizar, minimizar e
fechar a janela.
Enabled
Se esta opção estiver com False, indica que nenhum objeto desta janela, e nem a própria janela, poderão responder a eventos gerados pelo usuário, como clicar do mouse, pressionamento de teclas, etc.
Font Escolhe a fonte padrão que será usada para todos os objetos inseridos
neste formulário.
Icon Nesta propriedade escolhemos um arquivo de ícone que irá representar
o programa.
KeyPreview Determina se os eventos do teclado no formulário serão executados
antes dos eventos correspondentes aos objetos inseridos no formulário.
MaxButton Habilita ou não o botão de maximização.
MDIChild Determina se a janela será uma janela filha. Ou seja, terá uma outra
janela mestra incorporando-a.
MinButton Habilita ou não o botão de minimização.
MouseIcon
Sempre que o mouse for movido em cima do formulário, o ícone associado a esta propriedade aparecerá (desde que a propriedade MousePointer esteja customizada, ou seja, personalizada).
MousePointer
Nesta propriedade especificamos o tipo de ponteiro que o mouse terá quando se mover sobre o formulário. Os tipos de ponteiro de mouse estão abaixo da tabela.
Picture Insere uma figura em nosso formulário.
ShowInTaskba r
Habilita ou não a possibilidade da janela aparecer na barra de tarefas do windows.
Visible Determina se, ao executarmos o programa, essa janela ficará visível ou
invisível.
WindowState Determina se, ao executarmos o programa, a janela aparecerá na tela
do computador normal, maximizada ou minimizada.
Ponteiros do mouse:
0 - (Default) Ponteiro padrão; 1 - Ponteiro em forma de seta; 2 - Ponteiro de seleção exata; 3 - Seleção de escrita;
4 - Ícone (variados);
5 - Seleção de mover objetos;
6 - Redimensionamento na diagonal; 7 - Redimensionamento na vertical; 8 - Redimensionamento na diagonal; 9 - Redimensionamento na horizontal; 10 - Seleção alternada; 11- Sinal de ocupado;
12 - Não disponível (ocupado); 13 - Trabalhando em segundo plano; 14 - Seleção de ajuda;
15 - Todos os tamanhos;
99 - Aparece o ícone escolhido na propriedade MouseIcon.
As Propriedades Principais do Frame
Caption Coloca um texto no canto superior esquerdo da moldura.
Enabled Determina se todos os objetos colocados no interior da moldura
estarão disponíveis ou não para o usuário.
Name Nome dado ao objeto. A inicial abreviada é "frm". Cuidado para não
colocar um name igual ao de algum form.
As Propriedades Principais do HScrollBar
Propriedades Ações
Max Valor máximo a ser utilizado pela barra de
rolagem, geralmente 100.
Min Valor mínimo a ser utilizado pela barra de
rolagem, geralmente 0.
As Propriedades Principais do Image
Propriedades Ações
Picture
Figura a ser exibida pelo objeto. Pode ser qualquer arquivo de imagem suportado pelo Visual Basic ou até mesmo um arquivo de ícone.
Strech
Possibilita que a imagem seja esticada
mantendo toda a visualização possível dentro da área do objeto.
As Propriedades Principais do Label
Propriedades Ações
AutoSize Com esta propriedade habilitada, indicamos ao controle para
redimensionar automaticamente seu tamanho do texto no label.
BackColor Escolhe a cor de fundo que envolverá o label.
BackStyle Escolhe entre o fundo transparente ou opaco para o label. BorderStyle Escolhe entre colocar uma moldura envolvendo o label ou não.
Caption A propriedade principal do label. Determina o texto que será exibido
dentro do objeto.
Enabled Habilita ou desabilita o objeto. Quando está em False, a cor de seu
conteúdo fica acinzentada.
Font Escolhe a fonte que terá o texto digitado na propriedade caption.
Name Nomeia o objeto label. Como já foi dito, é importante que todos os
objetos sejam nomeados. A inicial do label é "lbl".
Visible Indica se o objeto será visível ou não para o usuário.
WordWrap
Quando o autosize está em True, não é possível expandir o texto digitado na propriedade caption em outras linhas. Mas, se
passarmos essa propriedade wordwrap para True, isto poderá ser feito, bastando para isto, dimensionarmos o label.
As Propriedades Principais do ListBox
Propriedades Ações
Columns Determina a quantidade de colunas que a caixa de listagem terá.
Enabled Habilita ou não o listbox para o usuário selecionar algum item no
objeto.
IntegralHeight Determina a possibilidade dos itens dentro da caixa de listagem
serem exibidos de maneira parcial.
ItemData Nesta propriedade existe uma caixa onde colocamos números
relacionados com os itens existentes dentro do listbox.
List Éo local onde digitamos os itens que estarão dentro do listbox.
MultiSelect
Quando esta propriedade estiver habilitada, significa que a caixa de listagem aceitará múltiplas seleções, ou seja, poderá ser selecionado mais de um item: none, simple e extended.
Name Nome que o objeto listbox terá. A abreviação para este objeto é
"lst".
Sorted
Classifica os itens existentes dentro do listbox em ordem alfabética ou numérica ascendente. Esta propriedade em tempo de execução tem a finalidade de informar o estado que se encontra o sorted.
As Propriedades Principais do OptionButton
Propriedades Ações
Alignment Determina se o texto ficará do lado direito ou esquerdo do botão de
opção.
Caption O texto que será anexado ao objeto.
Enabled Habilita ou não este objeto. Estando desabilitado, o usuário não
Name Nomeia o objeto. A inicial abreviada para este tipo de controle é
"opt".
Value True para opção selecionada e False quando não está selecionada.
As Propriedades Principais do PictureBox
Propriedades Ações
Picture
Figura a ser exibida pelo objeto. Pode ser qualquer arquivo de imagem suportado pelo Visual Basic ou até mesmo um arquivo de ícone.
As Propriedades Principais do TextBox
Propriedades Ações
BackColor Escolhe a cor de fundo da caixa de texto. Geralmente é branca.
BorderStyle Tipo da borda: Fixa e simples ou sem borda.
Enabled Estando em False, o objeto não estará habilitado para interagir
com o usuário.
Font Escolhe a fonte que será mostrada dentro da caixa de texto.
ForeColor Escolhe a cor da fonte.
Locked Estando em False, trava qualquer digitação na caixa de texto.
MaxLength Quantidade máxima de caracteres dentro da caixa de texto. MultiLine Habilita a possibilidade de se digitar mais de uma linha na caixa
de texto.
Name Nomeia o objeto textbox. A inicial do textbox é "txt".
PasswordChar
Se durante a digitação de qualquer dado na caixa de texto, quisermos que o Visual Basic mostre outro caracter no lugar do caracter digitado, é só especificarmos aqui qual queremos que seja mostrado. Muito usado para digitação de senhas.
ScrollBars
Estando a propriedade multiline habilitada, é interessante
colocarmos uma scrollbar na caixa de texto, pois ela acrescentará uma barra de rolagem que poderá ser: horizontal, vertical, ambas.
Text
A propriedade text é a mais importante deste objeto. Todo texto digitado pelo usuário dentro da caixa de texto é incorporado nesta propriedade.
As Propriedades Principais do Timer
Propriedades Ações
Interval Associa o intervalo de tempo em que a
programação contida no objeto ocorrerá.
As Propriedades Principais do VScrollBar
CommandButton
Obs:Um botão de comando é tipicamente usado para iniciar um evento que
retorna uma ação com fechar um formulário, movimentação para um registro diferente, imprimir u relatório, etc. Use a propriedade Caption para especificar o texto que aparece no botão de comando. Use a propriedade Picture para
especificar uma figura para um botão de comando, só não esqueça de habilitar a propriedade Style para Graphical, caso contrário a figura não aparecerá.
Você pode escolher um botão de comando para clicá-lo e se a propriedade Default está selecionada para true (.T.), pelo pressionamento da tecla ENTER o botão de comando é selecionado. Se a propriedade Cancel do botão de comando está selecionada para true (.T.), você pode escolher o botão de comando pelo pressionamento da tecla ESC.
Exercício Proposto 1
Siga os seguintes passos:
• No menu File escolha a opção New Project;
• Escolha então o tipo de projeto Standard Exe.
Feito isto, construa os seguintes botões no formulário, utilizando-se das propriedades descritas na tabela abaixo:
Name Caption CmdLimpar Limpar CmdOk Ok CmdCancelar Cancelar CmdFechar Fechar Propriedades Ações
Max Valor máximo a ser utilizado pela barra de
rolagem, geralmente 100.
Min Valor mínimo a ser utilizado pela barra de
Na propriedade Name do formulário digite FrmCommand1 e na propriedade
Caption digite "Exemplo do objeto Command".
O resultado obtido deverá ser o formulário abaixo:
Após termos construído a tela, deveremos passar para a parte da programação. Para gerar a programação, devemos clicar duas vezes no objeto desejado. Programação do botão Limpar:
Programação do botão Ok:
Programação do botão Cancelar:
Programação do botão Fechar:
Programação para centralizar o Formulário:
O resultado deste exercício será a impressão das mensagens inseridas dentro dos botões através do comando Print diretamente no formulário, como na figura abaixo:
Para retirar as mensagens escritas no formulário, é só clicar no botão Limpar e para encerrar o programa é só clicar no botão Fechar. No momento de salvar, o nome a ser dado ao projeto é PrjCommand1.
Exercício Proposto 2
Siga os seguintes passos:
• No menu File escolha a opção New Project;
• Escolha então o tipo de projeto Standard Exe.
Feito isto, reconstrua o exercício anterior, mas desta vez, utilize as seguintes propriedades a mais no objeto CommandButton:
Propriedades Opções
Style Graphical
Picture Qualquer arquivo de figura
Modifique também a propriedade Caption dos objetos, acrescentando & antes do nome físico. Você estará criando uma tecla de atalho para eles. Assim, quando você precisar utilizar o CommandButton, é só clicar nele ou manter pressionada a tecla seguida da letra escolhida para atalho.
Na propriedade Name do formulário digite FrmCommand2 e na propriedade
Captiondigite "Exemplo do objeto Command".
O resultado obtido deverá ser o formulário abaixo:
Obs: A letra escolhida para ser o atalho do objeto deverá possuir & antes e não
necessariamente deverá ser a primeira letra, poderá ser uma letra do meio ou do final da palavra.
Label
Labels são usados para exibir texto e não podem ser editados pelo usuário. Eles são usados para identificar objetos em um formulário providenciando um
descrição do que um certo controle fará se clicado, por exemplo em tempo de execução, Eles podem exibir informação em resposta a um evento ou processo em sua aplicação.
Labels são usados em muitas instâncias nas mais diferentes situações. Muito comumente, eles são usados com controles que não tem a propriedade Caption. Por exemplo, você pode usar o controle label para adicionar descrições para TextBoxes, ListBoxes, ComboBoxes e outros. Eles também podem ser usados para descrever textos em um formulário, por exemplo, para auxiliar o usuário com informação de ajuda. Você pode também escrever um código que altere o texto exibido por um label em resposta à eventos em tempo de execução. Por exemplo, se sua aplicação leva alguns minutos para processar uma alteração, você pode exibir uma barra de status processando uma mensagem através de um label.
Obs: Este controle não pode receber foco.
Selecionando a Propriedade Caption do Label
Para alterar o texto exibido em um label, use a propriedade Caption. Em tempo de projeto, você pode selecionar esta propriedade, selecionando-a na Janela de Propriedades. Você pode utilizar o tamanho da propriedade Caption até o máximo de 1024 bytes.
Alinhando o Texto
A propriedade Alignment permite que você selecione o alinhamento do texto do label para Justificado à Esquerda (0, é o padrão) , Centralizado (1), ou Justificado à Direita (2).
As Propriedades AutoSize e WordWrap
Pelo padrão, quando insere-se texto dentro da propriedade Caption excedendo a largura do controle, o texto desce para a próxima linha e é alterado se ele excede a altura do controle. Para que o controle ajuste automaticamente seu conteúdo, selecione a propriedade AutoSize para True. O controle expandirá
horizontalmente para receber o conteúdo da propriedade Caption. Para que o conteúdo desça uma linha e expanda verticalmente, selecione a propriedade WordWrap para True.
Usando Labels para Criar Chaves de Acesso
Selecione a propriedade UseMnemonic para True se você quiser definir um caracter na propriedade Caption do label como uma chave de acesso. Quando você define uma chave de acesso em um label, o usuário pode pressionar e utilizar ALT + o caracter que o programador designou para mover o foco para o próximo controle na ordem da tabulação.
Você pode também criar chaves de acesso para muitos outros controles que tiverem uma propriedade Caption adicionando o caracter (&) antes da letra que você quiser usar como a tecla de acesso. Para um controle receber uma tecla de acesso sem que ele tenha a propriedade caption, use um label com o controle. Por que o controle label não pode receber foco, então o foco se move
automaticamente para o próximo controle na ordem fornecida na propriedade TabIndex. Use esta técnica para fornecer teclas de acesso para TextBox, PictureBox, ComboBox, ListBox, DriveListBox, DirListBox, Grid e Image.
Para Definir uma Chave de Acesso com um Label
1. Selecione o label primeiro, e então desenhe o controle.
-ou-Desenhe o controle em qualquer ordem e selecione a propriedade TabIndex do label para numerar o uso do controle.
2. Use o caracter & na propriedade Caption para fornecer uma tecla de acesso para o label.
Obs: Você pode querer exibir teclas de acesso em um controle label, se você
estiver usando eles para criar teclas de acesso. Isto permite que você una um controle label à um campo de uma linha de registro onde os dados são incluídos através do &. Para exibir & em um controle label, selecione a propriedade
UseMnemonic para False.
Exercício Proposto
Siga os seguintes passos:
• No menu File escolha a opção New Project;
• Escolha então o tipo de projeto Standard Exe.
Feito isto, construa os seguintes labels no formulário, utilizando-se das propriedades descritas na tabela abaixo:
Name Caption
LblNome Nome do Paciente
LblSexo Sexo
Na propriedade Name do formulário digite FrmLabel e na propriedade Caption digite "Exemplo do objeto Label".
O resultado obtido deverá ser o formulário abaixo:
No momento de salvar, o nome a ser dado ao projeto é PrjLabel.
Com certeza, os objetos criados não ficaram com esta mesma aparência apresentada acima. Para isso, algumas propriedades dos labels deverão ser alteradas. Siga as instruções abaixo e confira o resultado:
Objeto Propriedades
LblNome Font
LblSexo AutoSize, BorderStyle, Font e
ForeColor
LblExame BackColor, Font, ForeColor e
WordWrap
TextBox
Obs: Para exibir múltiplas linhas de texto em um controle TextBox, altere a
propriedade MultiLine para True. Se um TextBox com MultiLine não tem uma barra de rolagem horizontal, o texto é automaticamente ajustado quando o
TextBox é redimensionado. Para personalizar a barra de rolagem de um TextBox, selecione a propriedade ScrollBars.
Barras de rolagem sempre aparecerão em um TextBox quando a propriedade
MultiLine dele é alterada para True, e a propriedade ScrollBars dele é alterada
para qualquer coisa exceto None (0). Se você alterar a propriedade MultiLine para True, você pode usar a propriedade Alignment para alterar o alinhamento do texto dentro do TextBox. O texto padrão é justificado à esquerda. Se a propriedade MultiLine é False, alterar a propriedade Alignment não porporcionará efeito.
Siga os seguintes passos:
• No menu File escolha a opção New Project;
• Escolha então o tipo de projeto Standard Exe.
Feito isto, construa os seguintes objetos no formulário, utilizando-se das propriedades descritas na tabela abaixo:
Name Caption
LblNomePaciente Nome do Paciente
TxtNomePaciente -LblSexo Sexo TxtSexo -LblExame Exame TxtExame -CmdOk Ok CmdCancelar Cancelar
Na propriedade Name do formulário digite FrmTextBox e na propriedade Caption digite "Exemplo do objeto TextBox".
O resultado obtido deverá ser o formulário abaixo:
Após termos construído a tela, deveremos passar para a parte da programação. Para gerar a programação, devemos clicar duas vezes no objeto desejado. Programação da caixa de texto Nome do Paciente:
Programação da caixa de texto Sexo:
Programação da caixa de texto Exame:
Programação do botão Ok:
Programação do botão Cancelar:
Programação para centralizar o Formulário:
No momento de salvar, o nome a ser dado ao projeto é PrjTextBox.
Frame
Frames são usados para criar grupos de controles com identidades. Por exemplo, você pode usar um frame para subdividir um formulário funcionalmente,
separarando grupos de botões de opções (OptionButton).
Figura 1. O controle Frame
Em muitos casos, você usará o frame passivamamente para agrupar outros controles e não terá a necessidade de responder por ele nos eventos. Você irá, com tudo, alterar o Name, Caption, ou a propriedade Font.
Adicionando um Frame em um Formulário
Quando usamos um frame para agrupar outros controles, primeiro desenhamos um frame, e então desenhamos os controles dentro dele. Isto habilita você a movimentar o frame e os controles contidos nele junto.
Desenhando controles dentro do Frame
Para adicionar outros controles no frame, desenhe eles dentro do frame. Se Você desenhar um controle do lado de fora do frame, ou usar o método do duplo-clique para adicionar um controle em um formulário, e então tentar movimentar ele para dentro do frame, o controle será posto no topo do frame e você terá que
Figura 2. Controles dentro do Frame
Obs: Se você já tem os controles e quer agrupá-los em um frame, você pode
selecionar todos os controles, recortá-los, enviando-os para a área de transferência, selecionar o frame, e então colá-los dentro do frame.
Selecionando múltiplos controles em um Frame
Para selecionar múltiplos controles em um frame, pressione a tecla CTRL enquanto estiver usando o mouse para desenhar uma caixa em torno dos controles. Quando você soltar o mouse, os controles dentro do frame serão selecionados, como na Figura 3.
Figura 3. Selecionando controles dentro de um Frame
Check Box
O controle checkbox exibe uma marca de checagem quando ele é selecionado. Ele é comumente utilizado para presenciar uma seleção Sim/Não ou
Verdadeiro/Falso para o usuário. você pode utilizar este controle em grupos para exibir múltiplas escolhas das quais o usuário pode selecionar uma ou mais.
Este controle é similar ao controle optionbutton, mas neste cada opção é usada para indicar uma seleção que é feita pelo usuário. Eles diferem somente porque um optionbutton em um grupo pode ser selecionado por vez. Com o controle check box, porém, qualquer número de caixas de checagem pode ser
selecionado.
O Valor da Propriedade
A propriedade Value do check box indica se o check box está checado, não-checado ou não acessível. Quando selecionado, o valor será 1. Por exemplo:
Tabela de valores e constantes do Visual Basic equivalentes que são usadas para selecionar a propriedade Value.
Opção Valor Constante
Não-Checado 0 VbUnchecked
Checado 1 VbChecked
Não-Acessível 2 VbGrayed
O usuário clica no controle check box para indicar um estado checado ou não-checado. Você pode então testar o estado do controle e programar sua aplicação para desenvolver alguma ação baseada nesta informação.
Por padrão, o check box é selecionado para vbUnchecked. Se você quer
preselecionar um check box de uma série de check boxes, você pode selecioná-lo através da propriedade Value para vbChecked na rotina Form_Load ou
Form_Initialize.
Você pode também selecionar a propriedade Value para vbGrayed para
desabilitar o check box. Por exemplo, pode pode querer desabilitar um check box até que uma certa condição seja acionada.
O Evento Click
Porém se o usuário clica no check box, o evento Click é acionado. Você pode então programar sua aplicação para desenvolver alguma ação dependendo do estado do check box. Como no exemplo, a propriedade caption do controle check muda cada vez que o controle é clicado, indicando um estado checado ou não-checado.
Private Sub Check1_Click()
If Check1.Value = vbChecked Then Check1.Caption = "Checked"
ElseIf Check1.Value = vbUnchecked Then Check1.Caption = "Unchecked"
End If End Sub
Obs: Se o usuário clicar duas vezes no controle check box, cada clique será
processado separadamente, porque o controle check box não suporta o evento double-click.
Respondendo pelo Mouse e pelo teclado
O evento click do check box é também acionado quando o foco é passado para o controle com o teclado usando a tecla TAB e então pressionando a tecla de espaço.
Você pode selecionar o check box através do caracter que cria tecla de atalho (&). Por exemplo:
Neste exemplo, pressionando a combinação de teclas ALT+C você pode alternar entre os estados checado e não-checado.
Exercício Proposto
•
No menu File escolha a opção New Project;
•
Escolha então o tipo de projeto Standard Exe.
Feito isto, construa os seguintes objetos no formulário, utilizando-se das propriedades descritas na tabela abaixo:
Name Caption FrmOpcoes -ChkArroz Arroz ChkFeijao Feijão ChkFritas Fritas ChkOvo Ovo ChkBife Bife CmdFechar &Fechar
Na propriedade Name do formulário digite FrmFrameCheckBox e na propriedade
Caption digite "Exemplo do objetos Frame e CheckBox".
O resultado obtido deverá ser o formulário abaixo:
No momento de salvar, o nome a ser dado ao projeto é PrjCheckBox.
OptionButton
Usualmente, os controles OptionButton são usados em um grupo de opções para exibir opções das quais o usuário seleciona somente uma. Você agrupa os controles OptionButton desenhando-os dentro de uma controle que os contêm como um Frame, um PictureBox, ou um formulário. Para agrupar os controles
OptionButton em um Frame ou PictureBox, desenhe o Frame ou o PictureBox
primeiro, e então desenhe os controles OptionButton dentro. Todos os controles
Enquanto o controle OptionButton e o controle CheckBox parecem funcionar similarmente, há uma importante diferença: Quando um usuário seleciona um
OptionButton, o outro controle OptionButton do mesmo grupo está
automaticamente não disponível. Em contraste, qualquer número de controles
CheckBox poderá ser selecionado.
Exercício Proposto
Siga os seguintes passos:
•
No menu File escolha a opção New Project;
•
Escolha então o tipo de projeto Standard Exe
.Feito isto, construa os seguintes objetos no formulário, utilizando-se das propriedades descritas na tabela abaixo:
Name Caption
FrmSexo Sexo
OptMasculino Masculino
OptFeminino Feminino
FrmEstado Estado Civil
OptSolteiro Solteiro OptCasado Casado OptViuvo Viúvo OptSeparado Separado OptDivorciado Divorciado CmdFechar &Fechar
Na propriedade Name do formulário digite FrmOptionButton e na propriedade
Caption digite "Exemplo do objeto OptionButton".
No momento de salvar, o nome a ser dado ao projeto é PrjOption.
ListBox
Um ListBox exibe uma lista de ítens da qual o usuário pode selecionar um ou mais ítens. Se o number de ítens excede o número que pode ser exibido, uma barra de rolagem é automaticamente adicionada para o ListBox.
Se não há item selecionado, o valor da propriedade ListIndex é -1. O primeiro item da lista é ListIndex 0, e o valor da propriedade ListCount é sempre um valor maior do que o contido em ListIndex.
Obs: Para adicionar ou deletar ítens em um ListBox, use o método AddItem ou RemoveItem. Marque as propriedades List, ListCount, e ListIndex para habilitar
um usuário para acessar ítens no ListBox. Alternativamente, você pode adicionar ítens para a lista usando a propriedade List em tempo de projeto.
Exercício Proposto 1
Siga os seguintes passos:
•
No menu File escolha a opção New Project;
•
Escolha então o tipo de projeto Standard Exe.
Feito isto, construa os seguintes objetos no formulário, utilizando-se das propriedades descritas na tabela abaixo:
Name List - Caption
LstNomes Maria da Silva
- José Pereira
- Cornélios Silva
- Pedro Pereira
- Peter Norton Souza
- Bill Gates Silva
CmdFechar &Fechar
Na propriedade Name do formulário digite FrmListBox1 e na propriedade
Caption digite "Exemplo do objeto ListBox".