CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

在状态栏添加时间显示?

楼主liyangg(shineli)2000-11-17 16:21:00 在 VC/MFC / 基础类 提问

1.我在string   tab中添加了一个New   String,在此定义为ID_INDICATOR_CLOCK,将其  
  Caption设为00:00:00  
  2.在static   UINT   indicators[]   =  
    {  
    ID_SEPARATOR,    
    ID_INDICATOR_CLOCK,//添加  
    ID_INDICATOR_CAPS,  
    ID_INDICATOR_NUM,  
    ID_INDICATOR_SCRL,  
    }  
  3.在void   CMainFrame::OnTimer(UINT   nIDEvent)    
    {//   TODO:   Add   your   message   handler   code   here   and/or   call   default  
    CTime   time;  
    time=CTime::GetCurrentTime();  
    CString   s=time.Format(″%H:%M:%S″);  
    m_wndStatusBar.SetPaneText(m_wndStatusBar.CommandToIndex(ID_INDICATOR_CLOCK),s);   //显示时钟  
    CFrameWnd::OnTimer(nIDEvent);  
  }  
  4.可是在状态栏没有显示时间why? 问题点数:20、回复次数:3Top

1 楼alphagx(alpha)回复于 2000-11-17 16:44:00 得分 0

我试了一试没有问题哇,是不是你没有开始计时啊?或者你把你将每一块的宽度调小一点,肯定能成功Top

2 楼RedFire(丹焰)回复于 2000-11-17 18:35:00 得分 0

问题解决了吗?Top

3 楼RedFire(丹焰)回复于 2000-11-17 18:50:00 得分 20

我知道了。呵呵。下面是从CSDN中摘出来的东西。Faint!搞了我好久。  
   
  The   following   procedure   shows   how   to   use   an   update   handler   function   to   display   text   in   a   pane.  
   
  To   make   a   pane   display   text    
   
  Add   a   command   update   handler   for   the   command.    
  You   can’t   use   ClassWizard   to   write   a   handler   for   a   status   bar   pane,   so   manually   add   a   prototype   for   the   handler,   as   shown   here   for   ID_INDICATOR_PAGE   (in   MAINFRM.H):  
   
  afx_msg   void   OnUpdatePage(CCmdUI   *pCmdUI);  
   
  In   the   appropriate   .CPP   file,   add   the   handler’s   definition,   as   shown   here   for   ID_INDICATOR_PAGE   (in   MAINFRM.CPP):  
   
  void   CMainFrame::OnUpdatePage(CCmdUI   *pCmdUI)  
  {  
          pCmdUI->Enable();    
  }  
   
  In   the   appropriate   message   map,   add   the   ON_UPDATE_COMMAND_UI   macro   (outside   the   “{{AFX”   comments),   as   shown   here   for   ID_INDICATOR_PAGE   (in   MAINFRM.CPP):  
   
  ON_UPDATE_COMMAND_UI(ID_INDICATOR_PAGE,   OnUpdatePage)  
   
  Add   code   to   the   handler   to   display   your   text.    
  For   ID_INDICATOR_PAGE,   expand   the   OnUpdatePage   handler   from   step   1   above,   adding   the   last   three   lines:  
   
  void   CMainFrame::OnUpdatePage(CCmdUI   *pCmdUI)    
  {  
          pCmdUI->Enable();    
          CString   strPage;  
          strPage.Format(   "Page   %d",   m_nPage   );    
          pCmdUI->SetText(   strPage   );    
  }  
   
  呵呵。原来我按照你的步骤做了好久,还设置了类型什么的。也没有结果。你在MSDN中查找Status   Bars:   Updating   the   Text   of   a   Status-Bar   Pane就明白了。  
   
  你在状态条中增加了一个Pane后,还要手工给它添加的处理程序,它上面的字串才能显示出来。  
   
  Top

相关问题

  • 状态栏显示时间
  • 如何得到系统时间,并且在状态栏显示?
  • 怎么在状态栏中显示系统时间?
  • 《VC编程指南》上的一个例子,状态栏上添加时间显示窗格。似乎有点问题,请高手进来指导。谢谢。
  • 状态栏的显示
  • 状态栏如何分几个小格显示“微帮助”、系统时间。
  • 如何获得线程的运行时间,并在状态栏显示出来?
  • 状态栏控件怎么添加
  • 在状态栏上添加进度条
  • 状态栏显示鼠标的坐标

关键词

  • cpp
  • onupdatepage
  • pcmdui
  • 添加
  • indicator
  • pane
  • strpage
  • handler
  • mainfrm
  • ccmdui

得分解答快速导航

  • 帖主:liyangg
  • RedFire

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo