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] fonction Create d'une ProgressBar


Sujet :

MFC

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par d�faut [MFC] fonction Create d'une ProgressBar
    Bonjour � tous,

    J'essai d'afficher une barre de progression mais je n'y arrive pas....
    En fait c'est juste la fonction Create de CDialog qui m'affiche un rapport d'erreur de Microsoft.......

    Voici le code de la fonction :
    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
    23
    BOOL CProgressDlg::Create(CWnd *pParent)
    {
        // Get the true parent of the dialog
        m_pParentWnd = CWnd::GetSafeOwner(pParent);
     
        // m_bParentDisabled is used to re-enable the parent window
        // when the dialog is destroyed. So we don't want to set
        // it to TRUE unless the parent was already enabled.
     
        if((m_pParentWnd!=NULL) && m_pParentWnd->IsWindowEnabled())
        {
          m_pParentWnd->EnableWindow(FALSE);
          m_bParentDisabled = TRUE;
        }
     
        if(!CDialog::Create(CProgressDlg::IDD,pParent))
        {
          ReEnableParent();
          return FALSE;
        }
     
        return TRUE;
    }
    C'est :
    CDialog::Create(CProgressDlg::IDD,pParent)
    qui m'affiche le rapport, j'avoue que je suis coinc� !

    Merci d'avance � tous ceux qui se pencheront sur mon probl�me.
    Bonne continuation......

    Cheper

  2. #2
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    111
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Par d�faut
    pour faire une progress bar, rien de plus simple!
    Tu l'a creer dans tes ressources en lui precisant un id ("IDC_PROGRESS").
    puis tu la r�cup�re dans ton code avec :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    (CProgressCtrl*) progress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS);
    apr�s t'a plus qu'� utiliser les fonction associ� avec progress->fonctionX

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par d�faut
    Donc j'oublie la fonction Create???
    A la place de la ligne :
    Je met la tienne c'est �a que tu veux dire??

  4. #4
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    111
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Par d�faut
    la fonction "create", je ne la connais pas. Tout ce que je peux te dire c'est que tu peux initialiser ta progress bar en faisant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    progress->SetRange(0, 100);
    par exemple. ensuite tu n'a plus qu'a modifier sa position quand tu le souhaite avec :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    progress->SetPos(20);
    par exemple.

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par d�faut
    Oui ca je le fait........
    Mais rien ne se passe, alors j'ai pens� qu'il fallait initialiser la progress bar.....
    Avec Create par exemple, mais ca marche pas......
    Alors je vois pas trop ce que j'oublie ou ce qui va pas......

    Peux-tu me donner le code de tes fonctions pour les comparer aux miennes...(SetRange et SetPos)
    Peut-etre c'est moi qui fait n'importe quoi !!

    Merci pour ta patience......

  6. #6
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    111
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Par d�faut
    je te les ai donn� juste au dessus!

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par d�faut
    Ok, mais c'est le code des fonctions que je te demande......
    Moi j'utilise une classe toute faite.....que j'ai trouv� sur Internet

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par d�faut
    Bon ben j'ai r�ussi.......
    Merci � toi Joeleclems et bonne continuation !

    Cheper

  9. #9
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    111
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Par d�faut
    mon code est tr�s long...
    voici les parties qui devraient t'interresser :

    Initialisation de mes deux barres de progression :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    _progress_bar = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_DETAIL);
    _progress_bar->SetRange(0, 100);
    _progress_bar_gnl = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS);
    _progress_bar_gnl->SetRange(0, 100);
    (_progress_bar et _progress_bar_gnl sont des variables de ma classes)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    _progress_bar_gnl->SetPos( (p_nb_total_of_files - p_staying_files) * 100 / p_nb_total_of_files );
    _progress_bar->SetPos( (p_nb_total_of_files - nb_image +1) * 100 / nb_image );
    et c'est tout!
    ce qu'il faut retenir c'est que tu dois mettre � jour la position des progress barre avec SetPos(int)!

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par d�faut
    Merci � toi encore tu m'as bien aid�......
    J'ai compris, enfin, coment �a marchait.......
    C'est vrai que c'est pas dur !! (quand on a compris)

    Bonne journ�e !

  11. #11
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    111
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 111
    Par d�faut
    Avec plaisir
    Bonne journ�e � toi aussi et � la prochaine

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

Discussions similaires

  1. R�ponses: 1
    Dernier message: 19/01/2010, 14h48
  2. R�ponses: 1
    Dernier message: 14/04/2008, 11h23
  3. [MFC] afficher une ProgressBar dans une barre d'etat
    Par guillaume21 dans le forum MFC
    R�ponses: 5
    Dernier message: 30/03/2007, 11h16
  4. R�ponses: 29
    Dernier message: 09/02/2006, 17h11
  5. [MFC] Arreter execution d'une fonction
    Par ricky78 dans le forum MFC
    R�ponses: 1
    Dernier message: 07/11/2005, 15h52

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