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 :

Progress bar probl�me


Sujet :

MFC

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par d�faut Progress bar probl�me
    Bonjour,
    J'ai des probl�mes avec les barres de progression (parce que je suis encore au niveau d�butant :p). J'ai cherch� � afficher une barre de progression dans une boite de dialogue, cette barre progresse toute seule une fois qu'on clicker sur le bouton OK. Et on arrete tous si on clicke sur Cancel
    Je m'expique : je suis en train d'ajouter des fonctionnalit�s dans un logiciel qui est developp� avec MFC visual c++ 6.0, une fonctionnalit� parmi d'autre est de traiter un fichier texte (tres gros), transformer les informations r�cup�r�es depuis ce fichier et les enregistrer dans les fichiers de petit taille avec un format sp�cifique et ainsi ranger ces nouveaux fichiers dans diff�rents r�pertoires. Etant donn� la dur�e (tres longue) du traitement (10 minutes, meme plus des fois), j'aimerais ajouter une boite de dialogue contenant une barre de progression pour connaitre l'avancement du traitement. A partir du gros fichier texte, je lis ligne par ligne et je fais la transformation et le rangement. (Une petite d�taille: le traitement va cr�er environ 80 r�pertoires et chaque r�pertoire contient environ 150 fichiers de taille variable de 10 � 50 ko).
    J'ai pas mal cherch� sur le net, et j'ai �tudi� aussi pas mal d'exemple mais j'arrive toujours pas faire fonctionner cette boite dialogue (et cette barre de progression).
    J'ai ajout� une belle boite de dialogue avec MFC avec une barre de progression, j'ai ajout� aussi des variables membres propement. Ensuite, j'ai ajout� une classe d�riv� de CProgressCrtl comme dans l'exemple GradientProgress.
    Dans la fonction qui permet d'effectuer le traitement, j'ai instanci� une boite de dialogue contenant la barre de progression (de nouvelle class), et dans le boucle qui permet de lire ligne par ligne, apres chaque traitement de chaque ligne, je fais un STEPIT et un SETPOS comme dans l'exemple. H�las, rien qui marche
    la boite de dialogue n'apparait meme pas !!!
    J'ai lu quelque part : il faut ajouter un thread ou encore utiliser Timer, mais je comprends rien de tout �a
    Si qq peut m'aider, ce sera un grand secours.
    Merci d'avance.

    Voici un bout de code.
    Fichiers attach�s Fichiers attach�s

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par d�faut
    Salut,
    Je n'ai pas regard� ton code mais effectivement si tu es dans une boucle de lecture tu dois demander � Windows de rafraichir tes fen�tres de temps en temps. Differentes possibilit�s existent; une tr�s simple dans ton cas serait de rajouter un appel toute les x lignes lues � la fonction PumpMessage() voir
    http://c.developpez.com/faq/vc/?page...rk#PumpMessage

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Par d�faut
    J'ai essay� de mettre des PumpMessage()
    Mais �a marche toujours pas

  4. #4
    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
    ce que tu as fait ne risque pas de fonctionner..
    une bo�te de dialogue modal n'existe plus apres DoModal (CDlgProgress).
    pour faire ce que tu demandes tu dois creer ta dialogue non modale.
    voir faq:
    http://c.developpez.com/faq/vc/?page...CreateModeless
    et appeler pumpmessage dans ta boucle � plusieurs endroit ..

Discussions similaires

  1. Probl�me PROGRESS BAR
    Par Nocturn dans le forum Flash
    R�ponses: 2
    Dernier message: 21/03/2010, 18h02
  2. Probl�me actualisation progress bar
    Par saket2114 dans le forum EDT/SwingWorker
    R�ponses: 4
    Dernier message: 29/10/2009, 18h42
  3. R�ponses: 10
    Dernier message: 21/04/2008, 12h48
  4. probl�me du composant progress bar
    Par ouadie99 dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 06/03/2008, 14h43
  5. [Patterns]S�paration IHM <-> Noyau : Probl�me de progress bar ?
    Par Muetdhiver dans le forum Design Patterns
    R�ponses: 8
    Dernier message: 18/09/2007, 22h28

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