1、在状态栏中设置两个新的栏位Timer和Progress。首先到ResourceView中编辑String Table,增加IDS_TIMER(时间),PROGRESS(进度)。然后在MainFrame的OnCreate函数中修改indicators数组,插入IDS_TIMER和PROGRESS。插入的位置,即为显示的位置。
2、现在我们让状态栏上的IDS_TIMER的位置显示系统当前的时间。我们只要在MainFrame的OnCreate函数中写入:
CTime t=CTime::GetCurrentTime(); //获得当前的系统时间
CClientDC dc(this);
CSize sz=dc.GetTextExtent(str); //设置一个CClientDC对象来获取str的长度
CString str=t.Format("%H:%M:%S"); //格式可以参考MSDN中的 strftime函数
int index=0;
index=m_wndStatusBar.CommandToIndex(IDS_TIMER); //此处也可以直接输入IDS_TIMER在indicators数组中从0开始的序号。
CSize sz=dc.GetTextExtent(str); //设置一个CClientDC对象来获取str的长度
CString str=t.Format("%H:%M:%S"); //格式可以参考MSDN中的 strftime函数
int index=0;
index=m_wndStatusBar.CommandToIndex(IDS_TIMER); //此处也可以直接输入IDS_TIMER在indicators数组中从0开始的序号。
m_wndStatusBar.SetPaneInfo(index,IDS_TIMER,SBPS_NORMAL,sz.cx); //设置状态栏宽度
m_wndStatusBar.SetPaneText(index,str); //设置IDS_TIMER指示器字符串
m_wndStatusBar.SetPaneText(index,str); //设置IDS_TIMER指示器字符串
如果我们在MainFrame的OnCreate函数中,添加一个
SetTimer