在MFC(Microsoft Foundation Classes)中,CStatusBar 类的 SetIndicators 方法用于设置状态栏的指示器(indicator)数组。这个方法通常在创建状态栏时使用,用于指定每个指示器的宽度和类型等信息。

以下是 CStatusBar::SetIndicators 方法的基本用法示例:
CStatusBar myStatusBar;

// 在创建主窗口的过程中,通常会创建并设置状态栏
// pParentWnd 是指向拥有状态栏的父窗口的指针
if (myStatusBar.Create(pParentWnd, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, ID_MY_STATUSBAR) &&
    myStatusBar.SetIndicators(indicators, sizeof(indicators) / sizeof(UINT)))
{
    // 设置状态栏的指示器和相关属性
    // indicators 是一个数组,包含了每个指示器的 ID 和宽度等信息

    // 如果创建和设置成功,状态栏现在应该是可见的并且包含了指示器
}

在上述代码中,pParentWnd 是指向拥有状态栏的父窗口的指针,ID_MY_STATUSBAR 是状态栏的标识符,你可以根据需要自行定义。indicators 是一个数组,包含了每个指示器的 ID 和宽度等信息。

请注意,indicators 数组的结构如下:
static UINT indicators[] =
{
    ID_SEPARATOR,           // 分隔符
    ID_INDICATOR_CAPS,      // 大写锁定指示器
    ID_INDICATOR_NUM,       // 数字锁定指示器
    ID_INDICATOR_SCRL,      // 滚动锁定指示器
    // ... 其他指示器
};

其中,ID_SEPARATOR 表示一个分隔符,而 ID_INDICATOR_CAPS、ID_INDICATOR_NUM、ID_INDICATOR_SCRL 等是一些系统定义的状态栏指示器。你可以根据需要添加自定义的指示器。


转载请注明出处:http://www.zyzy.cn/article/detail/22485/MFC/CStatusBar