IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] Progress Bar - comment on fait?


Sujet :

MFC

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut [MFC] Progress Bar - comment on fait?
    Bonjour,

    Je travail sur un logiciel de traitement d'image et lorsque le traitement s'effectue, j'ai un petit temps d'attente et on ne sait pas vraiment quand le traitement est termin�.

    J'aimerai y int�grer une bar de progression qui safficherait dans une nouvelle fenetre.

    J'ai essay� le code sur le forum � ce liens:

    http://www.developpez.net/forums/viewtopic.php?t=85377

    Mais j'obtiens une erreur qui dit :
    error c2065: 'IDC_PROGRESS': identificateur non d�clar�
    Pourrai-ton m'expliquer les diff�rentes �tapes pour obtenir cette barre qui est juste visuelle et permettra de patienter pendant que les traitements s'effectuent en parall�le.

    La progression de la barre n'est pas obligatoirement d�pendante du temps de traitement, tant qu'on peut savoir que le traitement est termin� et que l'on obtienne quelque chose d'agr�able � voir. Mais j'aimerais rester sur le type barre de progression (car je ne l'ai jamais fais!!)

    merci pour vos futurs suggestions.

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    nouvelle fenetre ? une dialogue par exemple ?
    dans ce cas dans l'editeur de ressources pose ton progress control
    attache une variable dessus .
    c'est tout.
    apres tu utilises les differentes methodes du progress pour fixer sa plage et sa position au fur et a mesure du traitement.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    Donc si j'ai bien compris,

    Je cr�e une new fen�tre type dialogBar avec la progress bar de la toolbox et je lui assigne une variable membre de type CProgressCtrl, et je l'instancie dans mon code l� ou j'ai besoin de la faire apparaitre?

    Mais pour g�rer l'�tat d'avancement, il ne faut pas un timer ou alors coder avec des threads?

    Je suis d�soler de t'ennuyer avec �a, mais si tu as des infos assez d�taill�s sur comment on fais une vrai belle bar de progression (liens, tutos) en MFC (vc++2003), je t'en serai super reconnaissant.

    merci pour ton aide,

  4. #4
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    yo,

    je n'ai jamais utilis� de progress, mais en regardant la doc �a n'a pas l'air bien compliqu�. tu utilises SetRange pour fixer le nombre total de "step" (les pitites cases de progression). ensuite tu incr�mentes l'avanc�e de la barre aux points cl�s dans ton code (SetPos, StepIt, SetStep pour r�gler l'incr�ment...).

    regarder la doc d'un contr�le avant de poster

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    merci bigboomshakala,

    Mais avant de poster j'avais bien vue tous �a mais je m'attendais � des trucs un peu plus pouss�s, un exemple avec des threads , une progress bar qui fais plusieur cycle ind�pendement du temps de traitement, la possibilit� de modifier des param�tres comme la couleur des incr�ments la forme des la progress bar.

    J'ai vue des exemples sur le net qui sont assez sympas, mais pas utilisable � mon niveau (et en MFC). Je m'attendais � des explication pour progresser dans mon apprentissage de la programmation, pas un 'regarde la doc d'un contr�le avant de poster!!'

    J'aimerai juste qu'on �change des exp�riences sur le sujet m�me si une simple progress bar est un sujet basic, vue et revu, mais qui �volue avec les versions de compilateurs actuels, c le but d'un forum non?

    ni voit pas une attaque personnel et merci infiniment pour ton intervention.

  6. #6
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    j'ai r�pondu � la question "comment utiliser une progress bar traditionnel".
    maintenant si tu veux une progress personnalis�e (nouveau design, etc...) il faut cr�er un nouveau contr�le (h�rit� de CProgressMachin, ou pas si tu veux tout reprendre)

    l� c'est un tout autre probl�me

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    Ok, j'ai pas �t� vraiment tr�s clair... dsl

    En fait, ma bar de progression peut �tre classique, mais j'aimerai un peu m'�tendre sur le sujet et savoir se qui est faisable.

    Qu'elle sont les diff�rentes m�thodes de gestion de l'avancement de la bar de progression?

    J'aimerai faire un truc du genre une classe d�riv� bar de progression qui serai r�utilisable dans toutes mes applications future, et qui sera modifiable et �volutive � souhait (cuit en 5 min, ...mmh!! faite pas gaffe!!).

    J'ai pas vraiment le niveau, et j'essayait de r�utiliser et de comprendre le liens suivant:

    http://www.developpez.net/forums/viewtopic.php?t=85377

    Mais c'�tait pas gagn�...

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    au passage,

    Une fois que la progresse bar est impl�ment� sur ma boite de dialogue, je coche 'visible=false' initialement.

    comment je fais pour changer seulement le mode visible ou invisible, le seul truc que j'ai trouv� c'est create, mais �a implique que ma progress bar que j'ai cr�e ne sert plus � rien vue que l'on en cr�e une autre.

    une id�e?

    merci

  9. #9
    Membre confirm�
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Avril 2005
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Par d�faut
    Salut,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    m_progressBar.ShowWindow(SW_SHOWNORMAL); // pour l'afficher
    m_progressBar.ShowWindow(SW_HIDE); //pour la cacher
    c'est dans la FAQ : http://c.developpez.com/faq/vc/?page=CWnd#ShowWindow

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    merci,

    mais �a ne marche pas.

    Je l'avais vu (sans vouloir passer pour un je-c-tout, j'ai quand m�me cherch� une solution!!), mais moi j'ai lu 'Comment cacher / faire appara�tre une fen�tre ?' -> je veut pas cacher une fenetre mais trouver la commande qui me permettra de mettre WS_DISABLED pour l'apparence de ma progress bar, bien essay�.

    En tout cas merci quand m�me de m'aider � r�soudre ce probl�me.
    Si tu as une autre suggestion, tu es le bienvenue.

    merci

  11. #11
    Membre confirm�
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Avril 2005
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Par d�faut
    OK ShowWindow est une m�thode de CWnd, mais CProgressCtrl h�rite de CWnd. donc c'est applicable � une progress bar.
    Citation Envoy� par Rafoo
    mais �a ne marche pas.
    tu as une erreur de compil, d'�x�cution ? Si oui, montre nous ton code.
    Si tu n'as pas encore essay�, fais le car le code que je t'ai mis vient d'un de mes programmes et fonctionne

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    227
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 227
    Par d�faut
    tien voila un lien �a peut peut �tre t'aider :
    http://chgi.developpez.com/windows/comctrl32/


  13. #13
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    on reprend un peu:
    pour donner des reponses il faut que tu specifies l'interface que tu veux avoir.
    tu veux mettre a jour un progress control a partir d'un thread ?
    pas de probleme.
    tu crees une boite de dialogue popup tu met ton progress control dedans.
    tu initialises ta boite de dialogue comme:
    http://c.developpez.com/faq/vc/?page...gPostNcDestroy
    tu passes ensuite le pointeur de cette fenetre a ton thread.
    et tu utilises la fonction SetPos pour fixer l'emplacement du curseur et SetRange pour la plage.


  14. #14
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    Bon, j'ai r�ussi � faire ce que je voulais avec la m�thode classique.

    Merci � tous pour vos conseil, vous �tes sympas de donner de votre temps pour nous aider nous pauvre d�veloppeur d�butant...

    Merci farscape pour tes info sur la fa�on dont je doit cr�e ma Cdlg pour la pass� en thread.

    Bonne soir�e � tous et a+.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [MFC] progress bar
    Par tyarcaouen dans le forum MFC
    R�ponses: 2
    Dernier message: 14/04/2006, 12h40
  2. [MFC] Progress Bar dans un CButton
    Par Aymerik dans le forum MFC
    R�ponses: 4
    Dernier message: 03/04/2006, 16h39
  3. Comment afficher une popup contenant un progress bar ?
    Par jlassira dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 16/03/2006, 17h49
  4. [MFC] Utilisation d'une progress bar
    Par nmarf dans le forum MFC
    R�ponses: 2
    Dernier message: 12/09/2005, 10h42
  5. [MFC]Changer la couleur d'un progress bar
    Par Deedier dans le forum MFC
    R�ponses: 1
    Dernier message: 21/04/2005, 18h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo