Vb6 + progress bar [Résolu]

Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
27 novembre 2008
- 4 oct. 2007 à 10:03 - Dernière réponse :
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
27 novembre 2008
- 5 oct. 2007 à 09:33
Bonjour,

J'ai une application vb6 et j'aimerais y ajouter une progress bar qui ne fasse que des aller et retour !
J'ai regarde dans la boite a outils malheureusement ce controle n'a pas l'air d'exister sous vb6 !

Est ce possible de faire une progress bar sous vb6 !?

Merci
Christophe
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
- 4 oct. 2007 à 10:13
3
Merci
Salut,
Ajoute à ton projet le composant
Microsoft Windows Common Controls 6.0 (SP6)
Tu pourras alores utiliser le controle ProgressBar à inserer dans une feuille

Si tu l'insere dans une feuille avec un contrôle Timer essaie ce code et vois si répond à ta question

Option Explicit

Private Inc As Boolean

Private Sub Form_Load()
   Inc = True
   ProgressBar1.Min = 0
   ProgressBar1.Max = 100
   Timer1.Interval = 1
   ProgressBar1.Scrolling = ccScrollingSmooth
End Sub<hr />
Private Sub Timer1_Timer()
 
   If Inc Then
       ProgressBar1.Value = ProgressBar1.Value + 1
   Else
       ProgressBar1.Value = ProgressBar1.Value - 1
   End If   If ProgressBar1.Value ProgressBar1.Max Then Inc False   If ProgressBar1.Value ProgressBar1.Min Then Inc True
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée

Merci jrivet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de jrivet
Meilleure réponse
Messages postés
209
Date d'inscription
lundi 22 novembre 1999
Dernière intervention
3 juillet 2008
- 4 oct. 2007 à 12:16
3
Merci
Hello,

Sans controle de type ActiveX (Microsoft Windows Common Controls 6.0 ) tu peux tres bien mettre un Label avec une culeur de fond genre bleue qui dans ton Timer change de property sur son 'width', ce qui provoque une simulation de PBar :)

Gerome

http://www.fbsl.net-------------------------------------

Merci GEDDi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de GEDDi
Meilleure réponse
Messages postés
1220
Date d'inscription
jeudi 24 mai 2007
Dernière intervention
28 septembre 2013
- 4 oct. 2007 à 15:07
3
Merci
salut, le timer.enabled est à true ?
et la couleur ?
bref pour ton soucis d'ocx, tu peux le copier de ton rep win/sys32, puis tu le place dans ta distrib de ton soft avec un fichier bat qui le copie dans c:/win/sys32 puis qui lance un regserver32 de l'ocx.
++

Tiens les balises ne sont pas reconnues ^_____^, zut alors.....

Merci Adn56 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Adn56
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
27 novembre 2008
- 4 oct. 2007 à 10:37
0
Merci
salut jrivet,

il m'a fallu plus de temps pour trouver le windows common control que pour tester ton code !
genial ca tourne impeccable

je te remercie vraiment !

justeu ne petite chose !
est il possible dans la progress bar d'eviter qu'elle revienne en arriere !?

oui la progress bar va de l'avant et arriere !
je veux qu'elle aille au bout et recommence au debut ?!

Merci pour tout en tout cas
Christophe
Commenter la réponse de cs_jimmy69
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
- 4 oct. 2007 à 10:48
0
Merci
Salut,
Oui c'est possible en modifiant le code commme suit. Mais ut aurais pu le trouver seul

Option Explicit

Private Sub Form_Load()
   ProgressBar1.Min = 0
   ProgressBar1.Max = 100
   Timer1.Interval = 1
   ProgressBar1.Scrolling = ccScrollingSmooth
End Sub<hr />
Private Sub Timer1_Timer()
 
   ProgressBar1.Value = ProgressBar1.Value + 1    If ProgressBar1.Value ProgressBar1.Max Then ProgressBar1.Value ProgressBar1.Min
  
End Sub

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
27 novembre 2008
- 4 oct. 2007 à 12:35
0
Merci
salut les gars,

ok ca marche !

y'a juste un truc qui me tracasse !
quand je mets l'exe sur une autre machine et que je le lance il me dit :

MSCOMCTL.OCX is missing !!
ma machine ou j'ai essaye est un windows 2003 standart !

Vous avez une idée ..je pense que cela vient du fait que j'ai ajoute cette librairie pour travailler avec la progress bar et que je dois place cette ocx sur la machine de production ?!

juste ou pas !?

Merci
Christophe
Commenter la réponse de cs_jimmy69
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Dernière intervention
27 août 2013
- 4 oct. 2007 à 13:04
0
Merci
Bonjour,

Pour faire tourner ton appli sur une autre machine il faut créer un empaquêtage comprenant les dépendances de ton programme.
Fais une petite recherche sur le site avec INNO SETUP + ISTOOL et tu trouveras ton bonheur
Commenter la réponse de lolokun
Messages postés
209
Date d'inscription
lundi 22 novembre 1999
Dernière intervention
3 juillet 2008
- 4 oct. 2007 à 13:47
0
Merci
Bonjour,

Essayes aussi ma version sans controle de type ActiveX ( cf. au dessus )

Gerome
http://www.fbsl.net-------------------------------------
Commenter la réponse de GEDDi
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
27 novembre 2008
- 4 oct. 2007 à 14:38
0
Merci
Re,

sorry mais le vb je connais pas de trop voila ce que j'ai fat mais rien n'avance !je vois la barre mais pas de progression ! j'ai bien un timer pourtant !

rivate BoolProgrBar As Boolean


Private Sub Form_Load()


BoolProgrBar = True
Label1.Width = 0


End Sub




Private Sub Timer1_Timer()
 
   If BoolProgrBar Then
     
       Label1.Width = Label1.Width + 1
   Else
     
      Label1.Width = Label1.Width - 1
   End If
   
   
   If Label1.Width = 100 Then
        BoolProgrBar = False
        'ProgressBar.Value = 0
        Label1.Width = 0
   End If
   

   If Label1.Width = 0 Then
   BoolProgrBar = True
   End If
  
End Sub

Merci
Christophe
Commenter la réponse de cs_jimmy69
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
27 novembre 2008
- 4 oct. 2007 à 20:23
0
Merci
salut salut,

Merci a tous pour votre aide, vos codes, etc..

J'ai teste les deux manieres => progress bar
et le label ..

Mais j'opte pour le label afin de ne pas devoir faire de regsvr32 avant d'utiliser l'application !

Merci
Christophe
Commenter la réponse de cs_jimmy69
Messages postés
209
Date d'inscription
lundi 22 novembre 1999
Dernière intervention
3 juillet 2008
- 4 oct. 2007 à 21:31
0
Merci
Bonjour,

Tu as choisis une voie simple et qui fonctionnera de maniere plus légère :)
Autre 'truc' : à la place du label, tu prends par exemple un GIF dégradé, que tu 'allonges' comme le Label :)

@+
Gerome (auteur du langage FBSL )
http://www.fbsl.net-------------------------------------
Commenter la réponse de GEDDi
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Dernière intervention
27 novembre 2008
- 5 oct. 2007 à 09:33
0
Merci
salut Geddi,

Oui je pense aussi !

En fait j'ai mis un label en transparent et fixed single afin de lui donner un peu de relief !

j'ai fait un carre bleu avec un label et puis un peu de code

Private Sub Timer1_Timer()
 
    If LabelCarre.Left >= LabelFont.Left + LabelFont.Width Then
           
        LabelCarre.Left = LabelFont.Left - LabelCarre.Width
           
    End If


    LabelCarre.Left = LabelCarre.Left + 50

Bon c'est pas super super mais ca tourne et ca fait un peu joli quitte de devoir installer l'ocx en question !

Merci pour toute votre aide !
Christophe
Commenter la réponse de cs_jimmy69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.