MFC --- 状态栏 StatusBar

这篇博客介绍了MFC中的CStatusBar类,讲解了如何在 OnInitDialog() 函数中初始化状态栏,以及其在应用程序中的作用和基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CStatusBar(来自百度)

一个CStatusBar 对象是一个带有一行 文本输出窗格的控件,或者称为“指示器”。
这些输出窗格常被用作消息行和状态指示器。例如:简单解释所选菜单命令的
菜单帮助消息行,作为显示SCROLL LOCK,NUMLOCK 以及其它键状态的指
示器。
在MFC4.0 之后新增加的成员函数CStatusBar:: GetStatusBarCtrl,允许你利用
Windows 通用控件对状态条的定制和其它功能的支持。CStatusBar 成员函数提
供了Windows 通用控件的大多数功能;但是,当你调用GetStatusBarCtrl 时,
你可以赋予你的状态条更多的Windows95 状态条的特性。当你调用
GetStatusBarCtrl 时, 它将返回一个对 CStatusBarCtrl 对象的引用。参见
CStatusBarCtrl 可以获得有关使用Windows 通用控件设计工具条的更多信息。
有关通用控件的更多的一般信息,请参见“Windows 95 SDK 程序员参考”中
的“通用控件”。
框架将指示器的信息保存在一个 数组中,且最左边的的指示器位于0 位置上。
当创建一个工具条时,可以使用一个字符串ID 数组,框架把这一组ID 与对应
的指示器关联起来。此后,你就可以使用字符串ID 或索引值访问一个指示器。
缺省的,第一个指示器是“可伸缩的”:该指示器占据了其它指示器窗格未用
到的状态条长度,因此其它窗格是右对齐的。
可以按下列步骤创建一个状态条:
1. 构造CStatusBar 对象。
2. 调用Create(或CreateEx)函数来创建状态条窗口并将它连接到CStatusBar
对象。
3. 调用 SetIndicators 函数将字符串ID 与每一个指示器联系起来。
有三种办法可以更新状态条窗口中的文本:
1. 调用CWnd::SetWindowText 只更新窗格0 中的文本。
2. 在状态条的ON_UPDATE_COMMAND_UI 处理程序中调用
CCmdUI::SetText 函数。





void CPCRemoteDlg::CreatStatusBar()
{


if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))                    //创建状态条并设置字符资源的ID
    {
TRACE0("Failed to create status bar\n");
return ;      // fail to create
        }
      CRect rc;
      ::GetWindowRect(m_wndStatusBar.m_hWnd,rc);             
      m_wndStatusBar.MoveWindow(rc);                              //移动状态条到指定位置




}

然后在 OnInitDialog() 函数中调用该函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值