标签:
状态栏的创建: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); //设置指定索引指示器的文本
标签:
原文地址:http://www.cnblogs.com/zhaogh990/p/4445571.html