状态栏的设计与实现

本文详细介绍了在MFC中如何创建和管理状态栏,包括CStatusBar类的使用、设置指示器、添加时间窗格及定时更新。通过示例代码展示了如何在OnCreate函数中设置计时器,以及在OnTimer函数中更新时间显示。此外,还提到了在OnClose函数中关闭计时器的重要性。
摘要由CSDN通过智能技术生成

状态栏实际上是个窗口,一般分为几个窗格,每个窗格显示不同的信息。AppWizard会为应用程序自动创建一个状态栏,该状态栏包括几个窗格,分别用来显示状态栏提示和CAPS LOCKNUM LOCK SCROLL LOCK键的状态。在MFC中,状态栏的功能由CStatusBar类实现。创建一个状态栏需要以下几个步骤:CStatusBar对象。CStatusBar::Create创建状态栏窗口。CStatusBar::SetIndicators函数分配窗格,并将状态栏的每一个窗格与一个字符串ID相联系。

 

 

构建一个

调用

调用

 相应的代码读者可以在Record工程的CMainFrame::OnCreate成员函数中找到。如清单4.6所示。函数的第一个参数indicators是一个ID数组,在CMainFrame类所在的CPP文件的开头部分可以找到该数组,如清单4.7所示。数组提供了状态栏窗格的分配信息,它的第一项一般为ID_SEPARATOR,该ID对应的窗格用来显示命令提示信息,后三项都是字符串ID,读者可以在String Table字符串资源中找到这三个字符串分别是CAPNUMSCRL。它们对应的三个窗格用来显示键盘的状态。

 

清单4.6 创建状态栏

 

if (!m_wndStatusBar.Create(this) ||

!m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)))

{

TRACE0("Failed to create status bar/n");

return -1; // fail to create

}

 

SetIndicators

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值