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 :

Fenetre de prgression pendant un calcul


Sujet :

MFC

  1. #1
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut Fenetre de prgression pendant un calcul
    Bonjour,

    J'ai une application qui parfois peut calculer pendant pas mal de temps. Je souhaite donc mettre une petite fenetre avec pour l'instant juste du texte qui change indiquant que le calcul est en cours.

    Cependant je ne trouve pas de solution simple sans devoir utiliser 2 threads.

    Si vous aviez une idée, je donnerai plus de détails cette après midi si besoin.

    Merci

  2. #2
    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 : 44
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    ya un control dans Visual qui s'appelle Progress ( CProgressCtrl ) qui est une barre de progression. ça n'affiche pas de message pour te dire où tu en es exactement, juste une barre (horizontale ou verticale) qui te donne une bonne idée de la progression.

  3. #3
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 102
    Points : 111
    Points
    111
    Par défaut
    Recherche sur Google avec le mot clé CWaitDlg ou CWaitDialog

  4. #4
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Merci à tout les deux.
    Sinon j'ai presque resolu mon probleme pour ceux que ça interesse voila un lien interessant sur le sujet.
    http://www.codeproject.com/threads/T...yOperation.asp

    Je n'ai pas pu appliquer cela à mon projet étant donne que je veux que la fenetre de chargement soit au dessus du calcul.
    Cependant j'ai adapte et la j'ai un autre probleme. Je doit faire communiquer à ma fenetre lorsque le calcul est fini, pour cela j'utilise un booleen hEvent.
    Je cree donc ma fenetre d'attente dans la fonction principale pour que celle-ci la connaisse et ensuite je lance mon thread en lui passant l'adresse de la fenetre en parametre.
    Cependant dans mon thread des que je fait appel à une fonction ou membre de ma fenetre d'attente l'application plante (à l'execution)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    DWORD WINAPI ThreadProgress(LPVOID lpParam) {
    	CWait* _progress=(CWait*)lpParam;
    	_progress->Start();
    	return 0;	
    }
     
     
    int CRepertoire::XXX(param) {
     
    	CWait* _progress=new CWait(NULL);
    	_progress->Create(IDD_WAIT,parent);
    	_progress->ShowWindow(SW_SHOW);
     
    	DWORD ThreadId;
    	HANDLE hEvent=CreateThread(NULL,NULL,ThreadProgress,_progress,NULL,&ThreadId);
     
    	// Cacul long
     
    	_progress->hEvent=FALSE;
     
    	return 0;
    }
    Edit> je suis un boulet ça marche tres bien quand on fait pas n'importe quoi avec les & et les *. J'ai corrige le code si ça interesse certain(e)s

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une fenetre d'attente pendant un long traitement (Swing)
    Par JavaBienOuMal dans le forum EDT/SwingWorker
    Réponses: 5
    Dernier message: 15/06/2007, 14h13
  2. Fenetre d'information pendant un traitement
    Par Seth77 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/02/2007, 23h44
  3. Afficher un message pendant un calcul
    Par Yjo dans le forum JSF
    Réponses: 14
    Dernier message: 17/10/2006, 21h28
  4. Progress bar pendant un calcul
    Par zapibranigan dans le forum C++
    Réponses: 2
    Dernier message: 09/10/2006, 13h50
  5. Conserver l'affichage pendant les calculs ?
    Par ceugniet dans le forum C++Builder
    Réponses: 5
    Dernier message: 31/03/2004, 12h19

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