MFC单文档任务栏添加 系统时间
状态栏的创建:CStatusBar对象创建 调用Create函数创建一个状态栏
if (!m_wndStatusBar.Create(this))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
调用SetIndicators 为每个指示器附加一个 字符串资源ID:
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
IDS_TIMER,
IDS_PROGRESS,
...... //这里增加字符串资源 会反映到状态栏
};
在框架累WM_PAINT消息相应函数 OnPaint中添加
SetTimer(1000,1000,NULL);
捕获WM_TIMER消息 在OnTimer函数中 添加如下代码
CTime time=CTime::GetCurrentTime();// 经过静态方法返回一个CTime对象
CString str=time.Format("%H:%M:%S"); //格式化时间 到str
CClientDC dc(this); //创建一个 框架类的dc
CSize size=dc.GetTextExtent(str); //获得字符串中在屏幕上显示的尺寸
int index =m_wndStatusBar.CommandToIndex(IDS_TIMER); //通过ID获取索引
m_wndStatusBar.SetPaneInfo(index,IDS_TIMER,SBPS_NORMAL,size.cx); //设置指示器的宽度
m_wndStatusBar.SetPaneText(index,str); //设置指定索引指示器的文本
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。