在 MFC(Microsoft Foundation Classes)中,CStatusBarCtrl::CreateEx 不是 CStatusBarCtrl 类的公共方法。通常,MFC 的 CStatusBarCtrl 是通过 CStatusBar 类创建的,而 CStatusBar 类的 Create 方法用于创建状态栏。

以下是 CStatusBar 类的 Create 方法的简要说明:
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);

  •  dwStyle:指定状态栏的样式。

  •  rect:指定状态栏的位置和大小。

  •  pParentWnd:指向父窗口的指针,即状态栏所属的父窗口。

  •  nID:指定状态栏的标识符。


如果你希望使用 CreateEx 方法,通常是在派生自 CStatusBarCtrl 的自定义类中才会使用,而 CStatusBarCtrl 本身的公共方法一般是通过其父类 CStatusBar 继承而来的。

以下是一个简单的示例代码,演示如何创建一个带有大小调整手柄的状态栏:
CStatusBar statusBar;

// 创建带有大小调整手柄的状态栏
if (statusBar.CreateEx(this, SBT_TOOLTIPS | SBT_OWNERDRAW, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, IDW_STATUS_BAR) &&
    statusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) {
    // 设置状态栏的分割样式等其他属性
    statusBar.SetPaneText(0, _T("Ready"));
    statusBar.SetPaneText(1, _T("Status 1"));
    statusBar.SetPaneText(2, _T("Status 2"));
}

请注意,上述示例代码中使用了 CBRS_BOTTOM 标志来指定状态栏位于父窗口的底部。你可以根据具体的需求调整其他样式和属性。


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