Jump to content
Sign in to follow this  
Bogos

Barra de Progresso Clicável

Recommended Posts

Bogos    0
Bogos

Bom galera,

Tou meio sem tempo então estou fazend só uma rapidinha.

Vou passar um código massa que faz o seguinte.

Tendo uma barra de progresso (aquelas tipo loading...) mas que não se meche, daí você clica sobre ela e arrasta, e a deixa como quiser através do clique.

Esse tipo de coisa pode ser muito útil em projetos seus.

Pra quem ainda não entendeu pra que serve, ai vai como montar e ver o resultado do que estou dizendo xD

 

Crie 1 projeto, clique com o direito na barra de ferramentas no canto esquerdo depois em Components.

Agora selecione CCRP Progress Bar (VB6).

Insira dê OK e ela aparece <<

coloque 1 no projeto e nomeie ela para barra

pra fica com uma aparencia melhor, mude a propriedade Smooth da barra para True.

agora abra a janela de codificação e copie o codigo abaixo:

 

Private Sub Form_Load()barra.Max = 200End SubPrivate Sub barra_FetchAutoCaption(Caption As String, Value As Long, Min As Long, Max As Long)'MUDA O CAPTION INSERINDO O VALOR ATUAL DA BARRACaption = Value - 100End SubPrivate Sub barra_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)'QUANDO O MOUSE SE MOVER NA BARRA, SE O CLIQUE ESTIVER APERTADO,'ELE MUDA O PONTEIRO DO MOUSE E VC MOVIMENTA A BARRA, SENÃO ELE'SOH DEIXA O MOUSE COMO UMA SETINHA COMUMIf Button = 1 Then    barra.MousePointer = vbSizeWE    If X > 188 Then X = 188    If X < 0 Then X = 0    barra.Value = (X * 200) / 188Else    barra.MousePointer = vbDefaultEnd IfEnd Sub
Rode, clique na barra, segure e arraste

 

=D

 

 

Cya,

Bogos

 

 

EDIT: ela mostra de -100 até 100, dê uma olhada nos códigos e mude as contas se quiser que ela mova do 0 ao 100, do 0 ao 500, 10 ao 20, etc.

;]

Share this post


Link to post
Share on other sites
Fox-    0
Fox-

lol?bem q instalação de jogos poderia ser assim.. ja arasta pro 100% e temina...num intendi mto bem onde iria usa isso mas blz.. o q vale a intenção bom codigo..

Share this post


Link to post
Share on other sites
Zero    0
Zero

Muito legal Bogos!

Fiz umas pequenas alterações no código que proporcinou melhor desempenho. Veja:

Dim px As Single, barval As IntegerPrivate Sub Form_Load()    barra.Max = 200End SubPrivate Sub barra_FetchAutoCaption(Caption As String, Value As Long, Min As Long, Max As Long)'MUDA O CAPTION INSERINDO O VALOR ATUAL DA BARRACaption = Value - 100End SubPrivate Sub barra_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)    px = x    barval = barra.ValueEnd SubPrivate Sub barra_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)'QUANDO O MOUSE SE MOVER NA BARRA, SE O CLIQUE ESTIVER APERTADO,'ELE MUDA O PONTEIRO DO MOUSE E VC MOVIMENTA A BARRA, SENÃO ELE'SOH DEIXA O MOUSE COMO UMA SETINHA COMUMDim val As IntegerIf Button = 1 Then    barra.MousePointer = vbSizeWE    val = barval - CInt(px - x)    If val <= barra.Min Or val >= barra.Max Then val = IIf(val <= barra.Min, barra.Min, barra.Max)    barra.Value = valElse    barra.MousePointer = vbDefaultEnd IfEnd Sub

Fox, você poderia utilizar este método em várias aplicações. Já que você sitou jogos. Imagine um jogo de disparo onde você deveria escolher a força ou potência do disparo.

 

Abraços!

Share this post


Link to post
Share on other sites
Bogos    0
Bogos

@Zero

 

Não sei muito bem o que você adicionou ao codigo, mas não entendi o pq de + desempenho. O código é simples e funcinal, mas enfim, quando eu tiver um tempinho livre vou dar uma olhada xD

valeus =P

 

 

@Fox

 

Serve pra um monte de coisa. Tudo que você escolhe uma valor por ex de força cmo o Zero disse. Dessa maneira ai fica + digamos bunitinho hehe

 

 

=*

Share this post


Link to post
Share on other sites
Guest Eclipse   
Guest Eclipse

Ótimo, porem como eu estou usando o VB que o vampire disponibilizou para download eu nao possuo esta funcao =~/Meu antigo possuia porem eu tive que formatar a maquina e perdi o programa junto =~/Espero que possa resolver meu problema colocando algum site com o addon deste recurso para o VB 6.Cya

Share this post


Link to post
Share on other sites
Zero    0
Zero

Bogos, notei uma certa falha no seu código, pois nem sempre funcionava instantaneamente quando se tentava arrastar o valor da barra de progresso, por isso fiz daquele modo.Eclipse, baixe a OCX mscomctl.ocx, se nao me engano, de qualquer site de download de componentes.Abraços!

Share this post


Link to post
Share on other sites
Guest MarioToledo   
Guest MarioToledo

Aew, boa. Eu vo coloca um time pra ir em progresso. Agora fico fácil

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×