
































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Como criar e customizar formulários no visual basic (vb), incluindo a adição de componentes como caixas de texto, botões e menus. Além disso, aborda a programação de eventos e propriedades dos formulários, como borderstyle, icon e keypreview. Também é introduzido o conceito de formulários mdi e como trabalhar com eles.
Tipologia: Notas de estudo
1 / 40
Esta página não é visível na pré-visualização
Não perca as partes importantes!

































Private Sub txtValor_LostFocus() On Error GoTo Valor_Errado vValor = CCur(txtValor.Text)
Valor_Errado: If Err = 13 Then MsgBox "Dado inválido na digitação do valor do financiamento", _ vbExclamation + vbSystemModal, "Aviso" txtValor.Text = InputBox("Informe o valor correto do financiamento:", _ "Valor do Financiamento") Resume 0 End If End Sub
Note que usamos a função InputBox() para solicitar ao usuário que digite um dado válido em caso de erro de execução; Note também que o comando Resume é seguido do valor 0, o que vai fazer com que o VB retorne ao início da procedure em caso de erro e refaça a conversão do conteúdo de txtValor. Isso é importante pois, caso o usuário insista em escrever um dado inválido na caixa de entrada, o processo todo será repetido.
Public Sub Prestação() Dim vValFinanciado As Currency Dim vPrestMensal As Currency If vValor <> 0 And vJuros <> 0 And vMeses <> 0 Then If vEntrada >= vValor Then MsgBox "O valor da Entrada deve ser menor que o do Financiamento", _ vbExclamation + vbSystemModal, "Aviso" lblValFinanciado.Caption = Empty lblPrestMensal.Caption = Empty txtEntrada.SetFocus Exit Sub End If vValFinanciado = vValor - vEntrada vPrestMensal = vValFinanciado * vJuros * (1 + vJuros) ^ vMeses / _ ((1 + vJuros) ^ vMeses - 1) lblValFinanciado.Caption = Format(vValFinanciado, "###,##0.00") lblPrestMensal.Caption = Format(vPrestMensal, "###,##0.00") cmdCalcular.Enabled = True cmdFechar.Enabled = True Else lblValFinanciado.Caption = Empty lblPrestMensal.Caption = Empty End If End Sub
Observações:
O primeiro If verifica se todos os dados necessários para o cálculo estão disponíveis; O segundo If verifica se o valor da entrada não é maior ou igual ao do financiamento, pois senão o resultado do cálculo seria uma “prestação negativa” (se é que isso existe...);
Um projeto em VB é um conjunto de objetos. Até agora trabalhamos com apenas um objeto em cada projeto: o formulário. Sim, o formulário também é um objeto: você não reparou que ele também possui propriedades e responde a métodos? Obviamente, em um aplicativo mais complexo, como será o caso do sistema de Controle de Bibliotecas que começaremos a desenvolver nessa lição, além do formulário principal existem outros destinados a entrada de dados, exibição de mensagens ou de resultados de consultas, etc.
Existem outros tipos de objetos que podem ser adicionados ao projeto, como módulos de programação, relatórios, controles ActiveX e módulos de classe. O que os caracteriza é o fato de serem gravados em arquivos separados. Assim, o projeto pode ser considerado como um conjunto de arquivos, cada um deles correspondente a um objeto.
Quando estamos desenvolvendo um projeto do qual vários formulários farão parte, obviamente vamos precisar adicionar a ele formulários novos e, muitas vezes, prontos. Além disso, uma aplicação Windows freqüentemente trabalha com outros tipos de formulários, diferentes daquele que usamos até agora.
Para incluir um novo formulário ou um formulário existente em um projeto, siga os seguintes passos:
Abra o menu Project do VB; Escolha a opção Add Form : a janela Add Form será aberta, com várias opções de tipos de formulários:
Se desejar acrescentar um formulário já existente, clique na aba Existing e indique sua localização; Se o formulário ainda não existe (formulário novo), você deve escolher um dos tipos da aba New. Para um formulário padrão, escolha a opção Form.
Em ambos os casos, o formulário será incluído na lista Forms da janela Projeto. A partir desse momento, ele poderá ser manipulado como outro qualquer. Vejamos alguns recursos necessários a esse trabalho:
Esse método é usado para carregar e exibir um formulário. Sua sintaxe é:
<formulário>.Show
Onde <formulário> é o nome do formulário, e
frmMeuForm.Show vbModal
Se a modalidade for omitida, será assumida como não-modal.
Durante a execução do sistema, às vezes acontece uma situação que impede a exibição correta do formulário. Normalmente, isso ocorre quando alteramos um objeto de um formulário que já está sendo exibido em uma procedure externa a ele, ou então quando estamos executando ações que demandam uma certa quantidade de recursos do sistema, como na abertura de arquivos. O método Refresh corrige esse problema simplesmente provocando a reconstrução imediata do formulário. Outros objetos, como os controles Data, também aceitam o método Refresh.
O comando Unload fecha um formulário e devolve o controle do sistema ao formulário que o chamou. Sua sintaxe é muito simples: basta indicar o nome do formulário. Exemplo:
Unload frmMeuForm
Para excluir um formulário do projeto, basta clicar com o botão direito do mouse sobre o nome do formulário na janela Projeto e escolher a opção Remove <nome do formulário> no menu de contexto.
Formulários MDI
Um formulário MDI ( Multiple-Document Interface ) funciona como uma janela que contém outros formulários a ela subordinadas (chamados de MDIChild ), atuando em background para uma aplicação. Para criar um formulário MDI você deve escolher a opção Add MDI Form no menu Project do VB. Por suas características, o formulário principal de uma aplicação é freqüentemente criado como MDI. Veja as principais:
Uma aplicação pode conter apenas um formulário MDI, mas pode conter vários MDI Child Forms ; Se o formulário MDIChild contém uma estrutura de menus, a barra de menu do formulário MDI é automaticamente atualizada e o menu exibido passa a ser o do MDIChild ativo. Falaremos mais sobre menus logo adiante; Se o formulário MDI é minimizado, todos os formulários MDIChild abertos também são;
Se um formulário MDIChild é minimizado, aparece como um ícone no rodapé do MDI; A maioria das propriedades, métodos e eventos dos formulários MDI são os mesmos de um formulário comum, mas um MDI não pode ser aberto como modal;
Um formulário MDI só pode conter menus e o controle PictureBox , ou então controles customizados preparados para isso. Você pode usar outros controles no formulário MDI apenas se criar uma PictureBox e então inserir esses controles dentro dela, como se fosse uma “moldura”;
Um formulário MDIChild não aceita a propriedade StartUpPosition.
Essa propriedade indica se um formulário será exibido como MDIChild ou não. A propriedade MDIChild só tem efeito quando existe no projeto um formulário MDI. Nesse caso, qualquer outro formulário que não o MDI (obviamente) poderá ser configurado como MDIChild.
Quando o valor de MDIChild é True, o formulário poderá ser maximizado, minimizado ou movido dentro do formulário principal (MDI). Assim como o MDI, um formulário MDIChild não pode ser aberto como modal. MDIChild não pode ser alterada em modo de execução, e o valor padrão é False.
A janela Menu Editor Quando o item leva o usuário a uma caixa de diálogo, seu rótulo deve ser seguido de reticências ( ... ). Quando leva a um submenu, deve ser seguido de uma seta ; Itens selecionáveis, como a opção Régua do menu Exibir do WordPad, devem ser precedidos pela marca de seleção quando estiverem ativos;
Quando algum pré-requisito para o funcionamento de uma opção não estiver sendo cumprido, ela deve aparecer desabilitada. Por exemplo: se não houver texto selecionado, as opções Copiar e Recortar não devem estar disponíveis.
Para acessar a janela Menu Editor , o formulário deve estar selecionado. Escolha então a opção no menu Tools do VB, acione a combinação Ctrl+E ou escolha o botão Menu Editor na barra de ferramentas.
Vamos descrever alguns componentes da janela Menu Editor:
Caption : neste campo deve ser digitado o rótulo que aparecerá na barra de menus ou dentro do menu: corresponde à propriedade Caption de um controle;
Name : neste campo informamos o valor da propriedade Name do menu;
ShortCut : permite a definição de uma tecla de atalho; Checked : permite a definição da propriedade Checked (marca de seleção);
Enabled e Visible : o mesmo que as propriedades Enabled e Visible dos controles; Index : quando o menu fizer parte de uma matriz, permite indicar seu índice;
Botões Up e Down : permitem a movimentação do menu selecionado para cima ou para baixo, mudando sua posição na barra;
Botões Left e Right : permitem a mudança de nível do menu, ou seja: se a opção aparecerá na barra de menu ou se fará parte de um submenu. Podem ser criados até quatro níveis;
Botão Next : move a seleção para a próxima linha, se houver. Se não houver, insere uma nova linha no final da lista;
Botão Insert : insere uma nova linha acima da selecionada; Botão Delete : exclui da lista a linha selecionada.
O Aplicativo Bibliotecário
Para exercitar os vários assuntos que veremos nessa lição, vamos iniciar a construção no nosso sistema, que chamaremos de Bibliotecário:
Caption: Name: &Operações mnuOperacoes ....&Empréstimo de Livros mnuEmprestimos ....&Devolução de Livros mnuDevolucoes C&onsultas mnuConsultas ....&Livros mnuConLivros ........&Todos mnuConTodos ........- BS ........por A&utor mnuLivrosPorAutor ........por &Categoria mnuLivrosPorCategoria ........por E&ditora mnuLivrosPorEditora ........- BS ........&Emprestados mnuConEmprestados ........Em &Atraso mnuConAtrasados ....&Usuários mnuConUsuarios ....&Categorias mnuConCategorias ....&Editoras mnuConEditoras &Relatórios mnuRelatórios ....&Livros mnuRelLivros ....&Usuários mnuRelUsuarios ....&Categorias mnuRelCategorias ....&Editoras mnuRelEditoras &? mnuHelp ....&Sobre o Bibliotecário mnuSobre
Associando Codificação a um Menu
Um menu se comporta como outro objeto qualquer do VB, quanto à codificação. Só um evento é associado a um menu: o Click. Para exemplificar, vamos fazer a codificação do menu mnuSair:
Private Sub mnuSair_Click() Dim vOk as Integer vOk = MsgBox("Confirma o encerramento do sistema?", _ vbYesNo + vbQuestion + vbApplicationModal, "Saída") If vOk = vbYes Then End End Sub
Formulários Splash
A maioria dos aplicativos para Windows (como o Word e o próprio VB) exibe uma janela com diversas informações sobre o produto enquanto ele é carregado. Essa janela é chamada de Splash Window , ou tela de Splash. O VB 6 permite a criação dessas telas com muita facilidade. Para esses casos, o VB nos oferece um modelo de formulário pronto, configurado e com a programação necessária para funcionar como aqueles dos aplicativos comerciais. Vamos então criar um formulário Splash em nosso aplicativo:
Em nosso sistema, usaremos um Timer para provocar uma pausa de 5 segundos, durante a qual será exibida nossa tela de Splash:
Private Sub Timer1_Timer() Unload Me frmBiblio.Show End Sub
Obs.: “Me” é equivalente ao nome do formulário em uso. Assim, ao invés de ficarmos escrevendo o nome do formulário para acessar suas propriedades e métodos durante a codificação, podemos escrever simplesmente “Me” em seu lugar que o resultado será o mesmo.
Formulários About
Outro modelo de formulário pré-definido que o VB nos oferece é o About Form , usado para a confecção daquelas janelas “Sobre...”. Para adicioná-lo o processo é o mesmo do Splash. Vamos inserir no projeto um formulário do tipo About:
Private Sub mnuSobre_Click() frmAbout.Show vbModal End Sub
Criando Uma Barra de Ferramentas
Sem dúvida um dos recursos mais comuns nos aplicativos para Windows é a barra de botões ou de ferramentas - o próprio VB as tem em profusão. A principal finalidade dessas barras é a de facilitar o acesso do usuário aos comandos mais comuns do aplicativo.
Um dos controles customizados que acabamos de adicionar é o ToolBar, que permite a criação de barras de botões com muita facilidade. Ele responde ao evento Click, e a identificação do botão clicado é feita pelo seu número de índice.
Para criar os botões, ToolBar trabalha em conjunto com outro controle:
O controle ImageList também faz parte dos Microsoft Windows Commom Controls e, como seu próprio nome indica, serve para criar uma lista de imagens que será associada a um outro controle, como uma ToolBar. Esse controle não responde a nenhum evento e não aparece no formulário durante a execução do aplicativo. Depois que a ImageList é associada a um controle, não pode mais ser alterada, a menos que a associação seja excluída.
Vamos então criar uma barra de botões em nosso projeto:
16 x 16:
32 x 32:
48 x 48:
Obs.: note que, após adicionar o ícone, o campo Index passou a indicar o valor 1. Esse é o número de índice da imagem na lista, através do qual fazemos a associação da imagem com o botão da ToolBar.
Style : indica o estilo dos botões da barra: pode ser 0 – tbrStandard , em que eles serão apresentados como pequenos botões de comando, ou 1 – tbsFlat , em que os botões terão a mesma aparência das barras de ferramentas do VB. Escolha Flat.
Index : indica o índice do botão na barra, pelo qual ele será identificado quando for clicado. Normalmente não alteramos o valor essa propriedade; Caption : define um rótulo para o botão. Deixe em branco, assim só será exibido o ícone no botão;
ToolTipText: texto a ser exibido em uma pequena etiqueta explicativa quando o ponteiro do mouse ficar parado por alguns instantes sobre o botão. Escreva “Cadastro de Livros” nessa propriedade (obs.: quase todos os controles do VB possuem essa propriedade); Image : indica o número da imagem da ImageList a ser exibida por esse botão. Indique o valor 1, que corresponde ao primeiro ícone da ImageList;
Visible e Enabled : o mesmo que as propriedades Visible e Enabled dos demais controles.
Botão Propriedades = Valor 2 ToolTipText = Cadastro de Usuários Image = 2 3 ToolTipText = Empréstimo de Livros Image = 3 4 ToolTipText = Devolução de Livros Image = 4 5 ToolTipText = Sai do Sistema Image = 5
Programando a Barra de Ferramentas
A programação dos botões da barra de botões é muito simples: como a barra só responde ao evento Click, basta que identifiquemos qual botão foi clicado e fazer a codificação correspondente. Como já vimos, a identificação do botão é feita pela propriedade Index. Vamos então programar o botão Sair:
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) If Button.Index = 5 'Foi clicado o botão Sair: mnuSair_Click End If End Sub