CStatusBar

CObject
 └CCmdTarget
    └CControlBar
       └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函数。
3.调用SetPaneText函数更新任何窗格中的文本。
调用SetPaneStyle可以更新一个状态条窗格的风格。
有关使用CStatusBar的更多信息,参见“Visual C++程序指南”中的文章“状态条”,以及技术注释31,“控制条”。
#include <afxext.h>
请参阅:
CStatusBarCtrl, CControlBar, CWnd::SetWindowText, CStatusBar::SetIndicators


CStatusBar类成员

构造
CStatusBar构造一个CStatusBar对象
Create创建状态条,并将它与CStatusBar对象连接,且设置初始字体和条高度
CreateEx创建一个具有嵌入CStatusBarCtrl对象附加风格的CStatusBar对象
SetIndicators设置指示器ID

属性
CommandToIndex获取给定指示器ID的索引
GetItemID获取给定索引的指示器ID
GetItemRect获取给定索引值的显示矩形
GetPaneInfo获取一个给定索引的指示器ID,风格和宽度
SetPaneInfo设置一个给定索引的指示器ID,风格和宽度
GetPaneStyle获取一个给定索引的指示器风格
SetPaneStyle设置一个给定索引的指示器风格
GetPaneText获取一个给定索引的指示器文本
SetPaneText设置一个给定索引的指示器文本
GetStatusBarCtrl允许直接访问基础通用控件

可重载
DrawItem当一个属主绘制的状态条控件的外观改变时,此函数被调用