PROGRESSBAR DANS UN STATUSBAR SIMPLEMENT

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 7 nov. 2005 à 15:31
Mrad1980 Messages postés 1 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 10 juillet 2006 - 10 juil. 2006 à 18:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34524-progressbar-dans-un-statusbar-simplement

Mrad1980 Messages postés 1 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 10 juillet 2006
10 juil. 2006 à 18:11
Que pense tu si on avais un objet MDIForm avec un Status Bar , alors il faut rectifier ce code pour que ca marche pour une feuille MDI ...
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
28 juin 2006 à 18:05
Je vais également essayé de zieuter ça ce soir ;-)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juin 2006 à 17:53
pour récupérer dans lpR le cadre du panel.

Public Const WM_USER As Long = &H400
Public Const SB_GETRECT As Long = (WM_USER + 10)

Dim lpR As RECT
SendMessage CcStatus.hwnd, SB_GETRECT, CcStatus.Panels("IDPROGRESS").Index - 1, lpR
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
28 juin 2006 à 17:43
Renfield>>Oui effectivement tu as raison.
J'ai l'impression d'avoir posté ça il y a des lustres.
Mais comment récupérer des Offsets valides en fonction du thème Windows ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juin 2006 à 14:35
Je ne suis pas d'accord avec ce code...

tu ajoutes des Offsets de dimension arbitaire :

# Progress_Bar.Width = Status_Bar.Panels(Index_Panel).Width - 45
# Progress_Bar.Top = Status_Bar.Top + 45
# Progress_Bar.Height = Status_Bar.Height - 75

Ceux-ci pourraient ne pas être corrects, avec, par exemple, un autre theme pour Windows
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
8 nov. 2005 à 00:07
Pour ta phrase: "Je ne pense pas qu'un admin trouve cela inutile dans la mesure où j'ai rien trouvé de similaire sur le site. Maintenant je peu me tromper."

Tu as raison, je me suis limité sur le fait que se soit une progressebar. Mais, rien à avoir avec les autres. Et même que là (et je n'ai pas un lien) tu devrais plutôt si tu peux, faire une gestion du chargement. Un peu comme internet explorer. C'est juste une proposition, et qui n'es pas qu'a toi!!! Je chercherais aussi.

Bonne programmation
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
7 nov. 2005 à 23:53
Je ne disais pas de faire un copié collé du code. Je pensais à ce que tu l'améliores. Maintenant, si pas mieux, c'est bien. De toutes les façons le lien est là, tous pourront voir. (Notez que la source est bien commenté. les débutants n'auront pas trop de mal.) Toujours pas trouvé le fichier aide. Mais il sortira bien un jour!!!
Et pour la réponse à ma question la haut, c'est enregistré.

Bonne programmation
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
7 nov. 2005 à 22:40
OK je viens de visiter le code. Il utilise simplement un acces binaire et recopie le fichier Ko par Ko... Simple mais efficace. Je pense pas qu'on puisse faire mieux.

Bonne prog
++
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
7 nov. 2005 à 22:32
Je pense pas qu'un admin trouve cela inutile dans la mesure où j'ai rien trouvé de similaire sur le site. Maintenant je peu me tromper.

Et vu que tu as donné le lien vers une source qui utilise la progressbar dans la recopie de fichier, je pense qu'il n'est pas utile que je l'ajoute à mon code. Chacun pourra aller se servir. Je m'en vais d'ailleurs jetter un oeil.

Bonne prog
++
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
7 nov. 2005 à 18:29
Pourquoi pondre ce qui l'est??

http://www.vbfrance.com/code.aspx?id=687

C'est ce code que j'utilise moi. (Juste Um peu de modification pour optimiser.) Et, pourquoi ne pas demander la permission à son auteur "FredericPinchon" si ca le dérange pas que tu utilises l'un de ses codes, en l'optimisant pour ta source. (Demander... juste par respect!! NB : Dernier signe de vie : 27/07/2004 02:04:48)

Et, j'en avais vu aussi d'autre. C'est pour cela que je t'ai proposé d'améliorer le tien, parce qu'en effet, si pas amélioré, certain admin pourrais dire que c'es inutile. (Moi je trouve utile)

Et, j'avais un fichier d'aide (MSDN) spécial sur se sujet. Je l'ai égaré. Dès que je le trouve, je te l'envoi.

Bonne continuation.
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
7 nov. 2005 à 17:50
Econs>>Oui effectivement j'y avait pas pensé, maitenant c'est au developpeur de faire attention au panel qu'il appel. Un mauvais panel appelé ferait planter n'importe quelle appli, même en dehors de ce code.

P_ROMEO>>Le pb dont parle Econs est que la fonction plante par ex ici :
Status_Bar.Panels(Index_Panel).Left
Si tu passe un mauvais Index_Panel à la fonction.
Sinon pour ta remarque sur le deplacement de fichier pourquoi pas, mais mon idée était ici simplement de montrer comment mettre un progressbar dans un statusbar rien de plus. Maintenant si tu me ponds un petit bout de code, je l'ajouterai volontier.

++
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
7 nov. 2005 à 16:19
Salut!

Call Set_Progress_Bar(ProgressBar1, StatusBar1, 5) ?? cela doit être?? ou c'est ce qui fait planter??
parce que, voila ce que bouv a fait : Call Set_Progress_Bar(ProgressBar1, StatusBar1, 2)

Bouv>> ca aurait été plus interessant de montrer comment l'on peut faire évoluer la progresse bar pendant un déplacement de fichier, ou pendant un chargement par exemple. mais, c'es pas mal.
ca marche chez moi.

Pas noté. espère une mise a jour.

A+

bonne programmation
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
7 nov. 2005 à 15:31
Il ne manque qu'un contrôle de validité sur Index_Panel pour que l'illusion soit parfaite.
Call Set_Progress_Bar(ProgressBar1, StatusBar1, 5) fait bien entendu planter ta fonction. Rien de bien grave en soit.

L'idée est sympa.
Rejoignez-nous