visual c++定制状态栏
visual c++定制状态栏
状态栏位于程序窗口的最底部,用于显示当前操作的提示信息和程序的运行状态。MFC应用程序默认的状态栏分为4部分,第1部分显示菜单或工具栏提示;第2部分用来显示大小写状态;第3部分用来显示键盘的数字状态;第4部分用来显示键盘的滚动状态。
用MFC AppWizard向导创建应用程序时,在CMainFrame类中定义了一个状态栏类CStatusBar的对象m_wndStatusBar,并通过以下代码实现了状态栏的显示:
static UINT indicators[] =
{
ID_SEPARATOR, //定义分隔符,全用作提示信息行的面板标识
ID_INDICATOR_CAPS, //大写指示器面板标识
ID_INDICATOR_NUM, //数据指示器面板标识
ID_INDICATOR_SCRL, //滚动指示器面板标识
};
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status barn");
return -1;
}
代码中indicators是一个静态数组,在这个数组中的第1个元素代表状态栏上一个指示面板的ID值。这些ID在应用程序的串表资源String Table中进行了说明;m_wndStatusBar.Create(this)调用CStatusBar::Create()创建状态栏。CStatusBar::SetIndicators用来设置状态栏中每个指示器面板。