Documente Academic
Documente Profesional
Documente Cultură
50
Startup Object
O objeto de abertura (ou Startup Object) o primeiro objeto a ser executado quando iniciamos um aplicativo. Quando criamos um novo projeto, o formulrio Form1 definido como objeto de abertura, por ser o primeiro objeto a fazer parte dele. Mas qualquer formulrio pode ser configurado como Startup. Para alterar o objeto de abertura, siga as instrues a seguir: Abra o menu Project; Escolha a opo Project Properties: ser exibida a janela Project Properties:
A caixa de combinao Startup Object contm os objetos que podem ser configurados como Startup: note que s so exibidos os formulrios contidos no projeto (alm da sub Main, que estudaremos mais adiante); Indique na combo qual ser o objeto de abertura e clique em Ok.
Menus
A barra de menus um dos mais importantes componentes de um aplicativo Windows. O VB dispe de uma poderosa e prtica ferramenta para o projeto de menus: o Editor de Menu (Menu Editor veja a figura da prxima pgina). Com ele, em poucos passos voc pode criar menus que funcionam exatamente como nos aplicativos mais conhecidos. Existem algumas regras de padronizao que devem ser seguidas na criao de menus para os aplicativos Windows: O usurio j sabe o que esperar em determinados menus, quando presentes em um aplicativo. No menu Editar, por exemplo, ele espera encontrar ao menos as opes Copiar, Recortar e Colar. Outros menus tambm possuem opes padronizadas: Abrir, Salvar e Imprimir so freqentemente encontradas no menu Arquivo; As opes da barra de menus devem permitir o acesso atravs da combinao Alt+Letra Sublinhada; Para as opes mais comuns interessante que existam teclas de atalho. Mas, cuidado: algumas teclas de atalho tambm so padronizadas no Windows. Por exemplo: Ctrl+C o atalho para copiar algo para a rea de transferncia, no importa qual seja o aplicativo; Itens relacionados devem ser agrupados e separados dos demais por barras separadoras. Exemplo: as opes Localizar, Localizar Prximo e Substituir do menu Editar do WordPad;
51
Quando o item leva o usurio a uma caixa de dilogo, seu rtulo deve ser seguido de reticncias (...). Quando leva a um submenu, deve ser seguido de uma seta ; Itens selecionveis, como a opo Rgua do menu Exibir do WordPad, devem ser precedidos pela marca de seleo quando estiverem ativos; Quando algum pr-requisito para o funcionamento de uma opo no estiver sendo cumprido, ela deve aparecer desabilitada. Por exemplo: se no houver texto selecionado, as opes Copiar e Recortar no devem estar disponveis. Para acessar a janela Menu Editor, o formulrio deve estar selecionado. Escolha ento a opo no menu Tools do VB, acione a combinao Ctrl+E ou escolha o boto Menu Editor na barra de ferramentas. Vamos descrever alguns componentes da janela Menu Editor: Caption: neste campo deve ser digitado o rtulo 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 definio de uma tecla de atalho; Checked: permite a definio da propriedade Checked (marca de seleo); 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; Botes Up e Down: permitem a movimentao do menu selecionado para cima ou para baixo, mudando sua posio na barra; Botes Left e Right: permitem a mudana de nvel do menu, ou seja: se a opo aparecer na barra de menu ou se far parte de um submenu. Podem ser criados at quatro nveis;
52
Boto Next: move a seleo para a prxima linha, se houver. Se no houver, insere uma nova linha no final da lista; Boto Insert: insere uma nova linha acima da selecionada; Boto Delete: exclui da lista a linha selecionada.
O Aplicativo Bibliotecrio
Para exercitar os vrios assuntos que veremos nessa lio, vamos iniciar a construo no nosso sistema, que chamaremos de Bibliotecrio: 1. Inicie um novo projeto; 2. Remova a formulrio Form1 do projeto; 3. Adicione ao projeto um formulrio MDI, e altere suas seguintes propriedades: Name: frmBiblio Caption: Bibliotecrio Controle de Acervo de Bibliotecas BackColor: Amarelo Claro (ou outra de sua preferncia mas no escolha uma cor muito forte para no ofuscar o coitado do usurio); Icon: Writing\Books01.ICO; WindowState: 2 - Maximized 4. Configure-o como Startup Object. Aproveite que j est na janela Project Properties e altere tambm a propriedade Project Name para Bibliotecrio. Essa propriedade equivale a um rtulo a ser exibido na janela Project para identificao do projeto, mas sua definio no obrigatria; 5. Salve o formulrio com o nome de FrmBiblio e o projeto como Bibliotecario; 6. Abra a janela Menu Editor; 7. Defina os campos para a primeira opo do nosso menu: Caption = &Cadastros e Name = mnuCadastros; 8. Clique no boto Next para passar para a prxima linha:
9. O prximo item a opo Livros do menu Cadastros: Caption: &Livros Name: mnuCadLivros
53
10. Clique no boto Ok e veja o resultado. Note que as opes esto no mesmo nvel, pois a opo Livros est ao lado de Cadastros. O correto seria que Livros fosse um item do menu Cadastros; 11. Acione novamente o Menu Editor e selecione a linha que contm o menu Livros; 12. Clique na seta para a direita. O nvel do menu Novo foi alterado, e agora est abaixo do menu Cadastro:
13. Clique no boto Ok e observe se o resultado agora o esperado; 14. Inclua mais dois trs opes ao menu Cadastros: Caption: &Usurios Name: mnuCadUsuarios Caption: &Categorias Name: mnuCadCategorias Caption: &Editoras Name: mnuCadEditoras
54
15. Vamos incluir agora uma barra separadora. Selecione a opo Editoras e clique no boto Next; 16. Indique para a propriedade Caption um hfen (-), e altere Name para BS1 (de Barra Separadora n 1). Clique em Next; 17. Para terminar o menu Cadastros, vamos incluir nele uma opo para sair do sistema: Caption: &Sair do Sistema Name: mnuSair 18. Clique no boto Ok e confira o menu. Faa correes, se necessrio; 19. Adicione as demais opes do menu de acordo com a tabela abaixo:
&Operaes ....&Emprstimo de Livros ....&Devoluo de Livros C&onsultas ....&Livros ........&Todos ................por A&utor ........por &Categoria ........por E&ditora ................&Emprestados ........Em &Atraso ....&Usurios ....&Categorias ....&Editoras &Relatrios ....&Livros ....&Usurios ....&Categorias ....&Editoras &? ....&Sobre o Bibliotecrio
Caption:
mnuOperacoes mnuEmprestimos mnuDevolucoes mnuConsultas mnuConLivros mnuConTodos BS2 mnuLivrosPorAutor mnuLivrosPorCategoria mnuLivrosPorEditora BS3 mnuConEmprestados mnuConAtrasados mnuConUsuarios mnuConCategorias mnuConEditoras mnuRelatrios mnuRelLivros mnuRelUsuarios mnuRelCategorias mnuRelEditoras mnuHelp mnuSobre
Name:
20. Verifique o funcionamento do menu. Note que na barra devem constar cinco opes: Cadastros, Operaes, Consultas, Relatrios e ?. Alm disso, nos menus Consultas e Relatrios, o item Livros leva a submenus. Seu formulrio agora deve estar parecido com o do exemplo a seguir:
55
21. Faa ajustes, se necessrio; 22. Salve o formulrio como frmBiblio e o projeto como Bibliotecario.
Formulrios Splash
A maioria dos aplicativos para Windows (como o Word e o prprio VB) exibe uma janela com diversas informaes sobre o produto enquanto ele carregado. Essa janela chamada de Splash Window, ou tela de Splash. O VB 6 permite a criao dessas telas com muita facilidade. Para esses casos, o VB nos oferece um modelo de formulrio pronto, configurado e com a programao necessria para funcionar como aqueles dos aplicativos comerciais. Vamos ento criar um formulrio Splash em nosso aplicativo: 1. Abra a janela Add Form; 2. Lembra-se que na aba New h vrios tipos disponveis de formulrios? Um deles chamado de Splash Screen. essa opo que usaremos para criar nossa tela de Splash. Escolha Splash Screen, e o formulrio abaixo ser adicionado ao projeto:
56
3. Voc pode alterar o tamanho do formulrio e seus objetos vontade, incluir novos labels e figuras, apagar os que no forem necessrios, enfim, deixar o formulrio ao seu gosto. Veja como ficou o meu:
Obs.: os formulrios padronizados, como os que estamos usando, quando inseridos no projeto normalmente j trazem algum tipo de programao pr-definida. Deve-se ento verificar essa programao e alter-la, ou apag-la se no for necessria, para evitar erros da execuo. 4. Grave o novo formulrio como frmSplash.
O Controle Timer
Existe um problema em nosso projeto: no existe em frmSplash nenhum objeto que possa ser usado para acionar o frmBiblio, como um boto de comando. Mas o VB oferece um controle cujo funcionamento se encaixa perfeitamente em casos como esse: o controle Timer, que usado em situaes de execuo de um ou mais comandos a intervalos de tempo regulares. Por exemplo: atualizar os registros exibidos em uma tela de consulta de um sistema multiusurio a cada 10 segundos. O controle Timer s responde ao evento Timer.
Propriedade Interval
A propriedade Interval do controle Timer determina o intervalo de tempo, medido em milisegundos, da ocorrncia do evento Timer. do tipo Integer, portanto o maior valor possvel 65.535, o que equivale a pouco mais de 1 minuto. O valor default 1.000 milisegundos, ou 1 segundo. Esse controle pode ser posicionado em qualquer lugar do formulrio, pois no exibido durante a execuo do aplicativo.
57
Em nosso sistema, usaremos um Timer para provocar uma pausa de 5 segundos, durante a qual ser exibida nossa tela de Splash: 1. Adicione um Timer ao frmSplash; 2. Altere o valor da propriedade Interval do Timer para 5000; 3. D um duplo click sobre o controle Timer e faa a codificao do evento Timer conforme segue:
Private Sub Timer1_Timer() Unload Me frmBiblio.Show End Sub
Obs.: Me equivalente ao nome do formulrio em uso. Assim, ao invs de ficarmos escrevendo o nome do formulrio para acessar suas propriedades e mtodos durante a codificao, podemos escrever simplesmente Me em seu lugar que o resultado ser o mesmo. 4. Execute o projeto e veja: seu aplicativo agora tem uma tela de Splash! 5. Grave seu trabalho.
Formulrios About
Outro modelo de formulrio pr-definido que o VB nos oferece o About Form, usado para a confeco daquelas janelas Sobre.... Para adicion-lo o processo o mesmo do Splash. Vamos inserir no projeto um formulrio do tipo About: 1. Abra a janela Add Form e escolha na aba New a opo About Dialog; 2. O formulrio a seguir ser inserido em seu projeto. Note os botes de comando: Ok fecha o formulrio e System Info abre a janela de Informaes do Sistema do Windows:
3. Modifique-o ao seu gosto, mas cuidado com o evento Load: ele altera o rtulo de alguns labels. Se voc mudar esses labels, apague as linhas correspondentes a eles em Form_Load. Veja como ficou o meu:
58
4. Grave o formulrio como frmAbout; 5. Abra o formulrio frmBiblio e escreva o comando para exibir frmAbout em mnuSobre_Click:
Private Sub mnuSobre_Click() frmAbout.Show vbModal End Sub
6. Execute o aplicativo. No formulrio principal, escolha a opo Sobre no menu e veja se o formulrio frm-About est funcionando corretamente; 7. Grave seu trabalho. Continuaremos o desenvolvimento do sistema na prxima lio.
59
2. Procure e marque a opo Microsoft Windows Commom Controls 6.0; 3. Clique no boto Aplicar: repare que alguns cones novos, como os da figura ao lado, foram inseridos na caixa de ferramentas; 4. Clique em Ok. A partir de agora, voc poder usar qualquer um dos Microsoft Windows Commom Controls em seu projeto como qualquer outro controle.
60
O Controle ToolBar
Um dos controles customizados que acabamos de adicionar o ToolBar, que permite a criao de barras de botes com muita facilidade. Ele responde ao evento Click, e a identificao do boto clicado feita pelo seu nmero de ndice. Para criar os botes, ToolBar trabalha em conjunto com outro controle:
O Controle ImageList
O controle ImageList tambm faz parte dos Microsoft Windows Commom Controls e, como seu prprio nome indica, serve para criar uma lista de imagens que ser associada a um outro controle, como uma ToolBar. Esse controle no responde a nenhum evento e no aparece no formulrio durante a execuo do aplicativo. Depois que a ImageList associada a um controle, no pode mais ser alterada, a menos que a associao seja excluda. Vamos ento criar uma barra de botes em nosso projeto: 1. Em tempo de projeto, abra o formulrio frmBiblio; 2. Adicione ao formulrio uma ImageList. No se preocupe com a posio em que ela vai ficar, pois como j disse ela no aparecer durante a execuo do aplicativo; 3. Clique com o boto direito do mouse sobre a ImageList; 4. No menu de contexto que se abre, escolha a opo Properties. A janela de propriedades da ImageList ser exibida:
5. Na aba General definimos o tamanho em pixels das imagens da lista. Compare os tamanhos: 16 x 16: 32 x 32: 48 x 48:
61
7. Para adicionar imagens, clicamos no boto Insert Picture e para excluir uma imagem no boto Remove Picture. Clique em Insert Picture e adicione o cone Writing\Books02.ICO:
Obs.: note que, aps adicionar o cone, o campo Index passou a indicar o valor 1. Esse o nmero de ndice da imagem na lista, atravs do qual fazemos a associao da imagem com o boto da ToolBar. 8. Adicione as seguintes imagens na lista. Procure respeitar a ordem na incluso, para que o ndice corresponda corretamente imagem desejada quando estivermos criando a barra de botes: Misc\Misc28.ICO (Index 2) Writing\Book04.ICO (Index 3) Writing\Books04.ICO (Index 4) Traffic\Trffc14.ICO (Index 5) 9. Se voc fez tudo corretamente, sua ImageList deve estar parecida com o exemplo a seguir:
62
10. Clique no boto Ok para retornar ao formulrio; 11. Adicione ao formulrio uma ToolBar. Note que esse controle automaticamente posicionado no topo da rea de trabalho do formulrio, logo abaixo da barra de menus; 12. A configurao da ToolBar feito como na ImageList: clique com o boto direito do mouse sobre o controle e escolha a opo Properties; 13. Na aba General definimos as propriedades que determinam a aparncia da Toolbar. As principais so:
ImageList: indica o nome da ImageList que ser usada na criao da barra de botes. Escolha a opo ImageList1 , que deve ser a nica disponvel; Appearance: determina a aparncia da barra, que pode ser em perspectiva 3D (opo 1 - cc3D) ou integrada rea de trabalho do formulrio (opo 0 ccFlat). Escolha 3D; BorderStyle: indica se a barra ter borda (opo 1 ccFixedSingle) ou no (opo 0 ccNone). A aparncia final da borda depende da propriedade Appearance. Escolha None;