salut a tous,
je voudrais juste savoir comment il faut faire pour afficher des informations dans la status bar.
merci
fr_ed_er_ic
salut a tous,
je voudrais juste savoir comment il faut faire pour afficher des informations dans la status bar.
merci
fr_ed_er_ic
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");
}
ok merci, mais je n'ai pas l'ID des indicator dans le class wisard
salut, tu peux regarder ce lien http://www.developpez.net/forums/vie...ght=status+bar
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
MainFrame.cpp
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
-> rajouter les messages dans BEGIN_MESSAGE_MAP
-> rajouter les indicateurs
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()
-> 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 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 };
-> il faut en plus lancer le timer avec SetTimer() pour mettre � jour l'affichage r�guli�rement.
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 }
merci pour l'exemple ca marche impecable
a+
fred
Partager