MFC对话框下面加上时间状态栏

1、创建状态栏对象

 CStatusBar m_bar;

2、在OnInitDialog()里初始化
 

 m_bar.Create(this); //We create the status bar
 m_bar.SetIndicators(indicators,3); //把状态栏分为三个小部分     

 CRect rect;
 //为了分配状态栏的大小   

 GetClientRect(&rect);
 //设置每个小部分的初始状态  
 m_bar.SetPaneInfo(0,IDS_INDICATOR_MESSAGE,
  
 SBPS_NORMAL,rect.Width()-200); 
 m_bar.SetPaneText(0,"状态栏");

 m_bar.SetPaneInfo(1,IDS_INDICATOR_MESSAGE,
  
 SBPS_NORMAL,80); 

 m_bar.SetPaneText(1,"当前时间");

 
 m_bar.SetPaneInfo(2,IDS_INDICATOR_TIME,SBPS_STRETCH ,0);
 CTime t1;
 t1=CTime::GetCurrentTime();
 m_bar.SetPaneText(2,t1.Format("%H:%M:%S"));
 
 
 //This is where we actually draw it on the screen
 
 RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,
  
 IDS_INDICATOR_TIME);
 
 SetTimer(1,1000,NULL); 

其中indicators为三个状态栏的ID号

 static UINT indicators[] =

{
 IDS_INDICATOR_STATE,
 
 IDS_INDICATOR_MESSAGE,
  
 IDS_INDICATOR_TIME
  
};

3、最后定时器部分

void CClientDlg::OnTimer(UINT nIDEvent)
{
 // TODO: Add your message handler code here and/or call default
 CTime t1;
 t1=CTime::GetCurrentTime();
 m_bar.SetPaneText(2,t1.Format("%H:%M:%S"));
 CDialog::OnTimer(nIDEvent);
}

就完成了基于MFC对话框的状态栏上显示当前时间

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值