Olá,
Me chamo Evandro, atualmente trabalho como programador de Visual Basic na ePSystems Software e estou aqui para dar algumas dicas e ensinar alguns truques bem legais para você usar em suas aplicações do Microsoft Access. Esta ferramenta que é subestimada por muitos programadores, mas que tem um potencial incrível.
Todos os exemplos usados aqui usam a versão 2003 (9.0) do Microsoft Access.
Bem, vamos à primeira delas:
Criando uma barra de progresso usando shapes (retângulos)
Lembrando que este exemplo serve apenas para fins estéticos.
Primeiro vamos criar um novo formulário; mesmo sendo algo muito básico vou ilustrar usando ScreenShots:
Novo > Modo de Design > OK
Agora vamos desenhar o primeiro shape que será uma
espécie de background da barra de progresso. Para isso vamos usar a
ferramenta Retângulo (shape) da barra de ferramentas.
Desenhe da maneira como desejar, lembrando que nossa barra de progresso se movimentará em direção ao lado direito.
Estilize da maneira como quiser usando a barra de
ferramentas na parte superior da área de trabalho do Access.
Vamos abrir as propriedades deste shape, para isto,
clique com botão deireito do mouse sobre o shape e clicando em
propriedades; agora, vamos alterar o nome do objeto para shpBackgroud.
Agora vamos repetir o processo e criar um outro shape por cima do shape shpBackground.
Para evitarmos redundâncias, vou colocar apenas o resultado final do segundo shape que deverá se chamar shpProgressBar.
Certo, agora que o layout da nossa barra de progresso está terminado, vamos partir para a programação!
Isto não vai exigir um alto conhecimento de VBA, por isto, mesmo iniciantes não vão ter problemas em seguir os próximos passos.
Vamos abrir agora o código do nosso formulário, para isso
localize e clique na barra de ferramentas o botão Código, destacado em vermelho.
Temos agora o ambiente de programação do VBA (Visual Basic
for Applications):
Vamos começar declarando a variável que armazenará o valor da largura total do da nossa barra de progresso.
Código:
Option Compare Database Dim intLarguraTotalDaBarraDeProgresso As Integer
Agora, na barra de seleção de objetos do VBA, selecione o
objeto Form.
Note que o evento Load já foi criado.
Vamos inserir o seguinte código no evento Load do objeto Form:
1 intLarguraTotalDaBarraDeProgresso = Me.shpProgressBar.Width 2 Me.shpProgressBar.Width = 0 3 Me.TimerInterval = 10 'este valor define a velocidade com que a barra se moveExplicando:
Linha 1: A primeira linha grava a largura total do shape shpProgressBar.
Linha 2: A segunda, zera a largura do shape shpProgressBar.
Linha 3: A terceira linha define o valor da propriedade TimerInterval do objeto Form. Esta linha é responsável também pela velocidade com que a barra de progresso se move; quanto maior o valor da propriedade, mais lentamente se move a barra.
Agora, na barra de seleção de eventos, selecione o evento Timer
também do objeto Form:
Agora,
vamos programar a animação e o evento disparado quando a barra de progresso
atinge o limite máximo:
Explicando o código:
Linha 1: Verifica se a largura total da barra de progresso foi atingida.
Linha 2: Comentário. A partir desta linha você pode inserir o código que será executado quando a largura da barra de progresso for antingida.
Linha 3: Comentário.
Linha 4: Vazia.
Linha 5: Esta linha define a largura da barra de progresso igual à largura inicial.
Linha 6: Define o valor da propriedade do objeto Form como 0. Isso faz com que o evento Timer pare de ser executado.
Linha 7: Caso a largura da barra ainda seja menor que a largura total da barra inicial, executa a próxima linha.
Linha 8: Acrescenta 30 twips na largura da barra e continua.
Linha 9: Fecha a execução condicional.
Para deixar o formulário com uma “cara” mais profissional, eu altero algumas propriedades do formulário.
BarrasDeRolagem = Nenhuma
SeletoresDeRegistro = Não
BotoesDeNavegacao = Não
LinhasDivisorias = Não
AutoCentralizar = Sim
PopUp = Sim
JanelaRestrita = Sim
EstiloDaBorda = Diálogo
Depois de alguns ajustes, vejam como ficou a minha barra de progresso:
Todo
o código do nosso exemplo ficou assim:
Option Compare Database Dim intLarguraTotalDaBarraDeProgresso As Integer Private Sub Form_Load() intLarguraTotalDaBarraDeProgresso = Me.shpProgressBar.Width Me.shpProgressBar.Width = 0 Me.TimerInterval = 10 'este valor define a velocidade com que 'a barra de progresso se move. End Sub Private Sub Form_Timer() If Me.shpProgressBar.Width >= intLarguraTotalDaBarraDeProgresso Then 'Aqui o código que será disparado quando a barra de progresso 'atingir a largura total. Me.shpProgressBar.Width = intLarguraTotalDaBarraDeProgresso Me.TimerInterval = 0 Else Me.shpProgressBar.Width = Me.shpProgressBar.Width + 30 End If End Sub
Em caso de dúvidas, fiquem a vontade para enviar um email para [email protected]
Muito bem, este foi nosso tutorial de hoje.
Até a próxima, e bons estudos!
CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010 |