在 MFC(Microsoft Foundation Classes)中,CSplitterWnd 类提供了 CreateStatic 方法,用于在分隔窗格中创建静态布局。

以下是 CSplitterWnd::CreateStatic 方法的签名和简要说明:
BOOL CreateStatic(
    CWnd* pParentWnd,
    int nRows,
    int nCols,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE,
    UINT nID = AFX_IDW_PANE_FIRST
);

  •  pParentWnd: 指定分隔窗格的父窗口。

  •  nRows: 指定行数。

  •  nCols: 指定列数。

  •  dwStyle: 指定窗口样式。

  •  nID: 指定窗口标识符。


此方法用于创建一个具有静态布局的 CSplitterWnd,其中每个分隔窗格都包含一个固定的子视图。

示例代码:
CSplitterWnd splitter;
// 假设 pParentWnd 是分隔窗格的父窗口
CWnd* pParentWnd = this;  // 请根据实际情况替换为你的父窗口指针

if (splitter.CreateStatic(pParentWnd, 2, 2, WS_CHILD | WS_VISIBLE, AFX_IDW_PANE_FIRST))
{
    // 创建成功,可以进行其他初始化或操作

    // 添加视图到各个窗格
    CView1* pView1 = new CView1;
    CView2* pView2 = new CView2;
    CView3* pView3 = new CView3;
    CView4* pView4 = new CView4;

    splitter.CreateView(0, 0, RUNTIME_CLASS(CView1), CSize(100, 100), NULL);
    splitter.CreateView(0, 1, RUNTIME_CLASS(CView2), CSize(100, 100), NULL);
    splitter.CreateView(1, 0, RUNTIME_CLASS(CView3), CSize(100, 100), NULL);
    splitter.CreateView(1, 1, RUNTIME_CLASS(CView4), CSize(100, 100), NULL);
}
else
{
    // 创建失败,处理错误
}

在这个示例中,CreateStatic 方法用于创建一个 2x2 的分隔窗格,然后通过 CreateView 方法将四个不同的视图添加到各个窗格中。你可以根据实际需求调整参数。


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