• Nenhum resultado encontrado

Visual Basic. Autor: Aulus Plautius Rosan

N/A
N/A
Protected

Academic year: 2021

Share "Visual Basic. Autor: Aulus Plautius Rosan"

Copied!
88
0
0

Texto

(1)

Visual Basic

Autor:

(2)

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

(3)

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,

(4)

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.

(5)

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.

(6)

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:

(7)

Menu Edit

Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:

(8)

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

(9)

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.

(10)

Menu Window

Menu Help

(11)

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.

(12)

É 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.

(13)

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

(14)

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.

(15)

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ção

Exibe 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

(16)

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.

(17)

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] ENDIF

Argumentos

Expressão

Especifica 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:

(18)

• 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.

(19)

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

(20)

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.

(21)

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.).

(22)

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.

(23)

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

(24)

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.

(25)

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

(26)

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.

(27)

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

(28)

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.

(29)

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

(30)

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.

(31)

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

(32)

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:

(33)

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:

(34)

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á

(35)

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

(36)

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.

(37)

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:

(38)

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:

(39)

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

(40)

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:

(41)

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

(42)

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

(43)

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".

(44)

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".

Referências

Documentos relacionados

O Documento Orientador da CGEB de 2014 ressalta a importância do Professor Coordenador e sua atuação como forma- dor dos professores e que, para isso, o tempo e

The first point at issue is that, if the national legislators adopt a human right approach in enacting the law, and if the rules are properly applied by the public

Por fim, na terceira parte, o artigo se propõe a apresentar uma perspectiva para o ensino de agroecologia, com aporte no marco teórico e epistemológico da abordagem

[r]

Além desta verificação, via SIAPE, o servidor assina Termo de Responsabilidade e Compromisso (anexo do formulário de requerimento) constando que não é custeado

Esta ação consistirá em duas etapas. Este grupo deverá ser composto pela gestora, pelo pedagogo e ou coordenador pedagógico e um professor por disciplina

Na experiência em análise, os professores não tiveram formação para tal mudança e foram experimentando e construindo, a seu modo, uma escola de tempo

O objetivo das regulamentações modernas de segurança contra incêndio é pro- teger a vida e evitar que os incêndios, caso se iniciem, se propaguem para fora de um compartimento