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] Status bar


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 11
    Par d�faut [MFC] Status bar
    salut a tous,
    je voudrais juste savoir comment il faut faire pour afficher des informations dans la status bar.

    merci

    fr_ed_er_ic

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par d�faut
    Je crois qu'il y a StatusPaneInfo ou SetStatusPaneInfo qui te permet de modifier ta barre d'�tat.

    Sinon si tu veux ajouter une nouvelle zone (zone : comme pour MAJ NUM DEFIL), il faut que dans ta classe CMainFrame, � l'endroit o� tu as INDICATOR[], tu rajoute des ID. Ces ID doivent correspondre � une ressource se trouvant dans la String Table. Ensuite la barre d'�tat affichera le texte qui se trouve dans la String Table.
    Pour pouvoir modifier ce texte, il faut que tu rajoute un message

    OnUpdateTonID(CmdUI* pCmdUI)
    {
    if(/*condition*/)
    pCmdUI->SetText("Salut");
    }

  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 11
    Par d�faut
    ok merci, mais je n'ai pas l'ID des indicator dans le class wisard

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par d�faut
    Voil� un exemple que j'ai utilis� permettant de rajouter la date et l'heure


    Il faut tout d'abord cr�er une ressource pour chaque indicateur.
    Ensuite, dans la string table, tu ajoute � chaque ID de tes indicateurs du texte (la longueur du texte te donnera la taille de la zione dans la barre d'�tat)


    MainFrame.h -> rajouter les d�clarations des messages


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    	afx_msg void OnUpdateDate(CCmdUI *pCmdUI);
    	afx_msg void OnUpdateHeure(CCmdUI *pCmdUI);
     
    	afx_msg void OnTimer(UINT nIDEvent);//rajout d'un timer pour mettre à jour l'heure en continu
    MainFrame.cpp
    -> rajouter les messages dans BEGIN_MESSAGE_MAP
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    	ON_UPDATE_COMMAND_UI(ID_INDICATOR_DATE, CMainFrame::OnUpdateDate)
    	ON_UPDATE_COMMAND_UI(ID_INDICATOR_HEURE, CMainFrame::OnUpdateHeure)
    	ON_WM_TIMER()
    -> rajouter les indicateurs
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    static UINT indicators[] =
    {
    	ID_SEPARATOR,           // indicateur de la ligne d'état
    //	ID_INDICATOR_EXT,
    	//Indicateurs habituels
    	ID_INDICATOR_CAPS,
    	ID_INDICATOR_NUM,
    	ID_INDICATOR_SCRL,
    //	ID_INDICATOR_OVR,
    //	ID_INDICATOR_REC,
    	ID_INDICATOR_DATE,		//Indicateur pour afficher la date
    	ID_INDICATOR_HEURE,		//Indicateur pour afficher l'heure
    };
    -> Mettre � jour le texte
    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
    24
     
    void CMainFrame::OnUpdateDate(CCmdUI *pCmdUI)
    {
    	char buffer[9];
    	CString temp;
     
        pCmdUI->Enable(); //Autorise l'élément
     
    	_strdate(buffer);
    	temp.Format(" %.2s/%.2s/%.2s",&buffer[3],&buffer[0],&buffer[6]);	//Récupère la date
    	pCmdUI->SetText(temp);	//Affiche la date
    }
     
    void CMainFrame::OnUpdateHeure(CCmdUI *pCmdUI)
    {
    	char buffer[9];
    	CString temp;
     
        pCmdUI->Enable();
     
    	_strtime(buffer);
    	temp.Format(" %.8s",buffer);	//Formate un texte pour l'heure
    	pCmdUI->SetText(temp);			//Affiche l'heure
    }
    -> il faut en plus lancer le timer avec SetTimer() pour mettre � jour l'affichage r�guli�rement.

  6. #6
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 11
    Par d�faut
    merci pour l'exemple ca marche impecable

    a+

    fred

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

Discussions similaires

  1. [MFC] probl�me status bar
    Par julien.nasser dans le forum MFC
    R�ponses: 4
    Dernier message: 07/12/2007, 19h09
  2. le status bar
    Par programaniac dans le forum Composants VCL
    R�ponses: 15
    Dernier message: 04/11/2005, 11h22
  3. progress bar dans une status bar ?
    Par raggadoll dans le forum C++Builder
    R�ponses: 1
    Dernier message: 02/11/2005, 15h17
  4. [C#] Status bar en .net
    Par fabrice1596 dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 24/10/2004, 11h29
  5. [MFC] Status des CDialoguBar
    Par Kevgeii dans le forum MFC
    R�ponses: 6
    Dernier message: 11/01/2004, 18h46

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