15,979
社区成员
发帖
与我相关
我的任务
分享
可以通过CTime类的GetCurrentTime方法获得系统当前时间,然后在按秒增长的定时器中不断更新时间。
程序代码如下:
BOOL CTimeStatusDlg::OnInitDialog()
{
…… //此处代码省略
UINT array[4];
for(int i=0;i<4;i++)
{
array[i] = 100+i;
}
m_StatusBar.Create(this); //创建状态栏窗口
m_StatusBar.SetIndicators(array,sizeof(array)/sizeof(UINT)); //添加面板
for(int n=0;n<4;n++)
{
m_StatusBar.SetPaneInfo(n,array[n],0,80); //设置面板宽度
}
//设置面板文本
m_StatusBar.SetPaneText(0,"当前用户");
m_StatusBar.SetPaneText(1,"mrkj");
m_StatusBar.SetPaneText(2,"当前时间");
CTime Time;
Time = CTime::GetCurrentTime();
m_StatusBar.SetPaneText(3,Time.Format("%H:%M:%S"));
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
SetTimer(1,1000,NULL); //设置定时器
return TRUE;
}
void CTimeStatusDlg::OnTimer(UINT nIDEvent)
{
CTime Time;
Time = CTime::GetCurrentTime();
m_StatusBar.SetPaneText(3,Time.Format("%H:%M:%S"));
CDialog::OnTimer(nIDEvent);
}