然而,如果你想要在运行时分隔列,可以使用 CreateView 方法动态创建一个新的视图并插入到分隔窗格中。以下是一个简化的示例:
CSplitterWnd splitter;
// 假设 splitter 是已经创建好的 CSplitterWnd 对象
// 获取当前列的视图指针
CView* pCurrentView = (CView*)splitter.GetPane(0, 0);
// 创建一个新的视图
CNewView* pNewView = new CNewView;
// 假设 CNewView 是你的新视图类
// 在第 0 行、第 1 列插入新的视图
splitter.CreateView(0, 1, RUNTIME_CLASS(CNewView), CSize(0, 0), pContext);
// 如果需要,释放旧的视图
if (pCurrentView != nullptr)
{
// 将旧视图从布局中移除
splitter.DeleteView(0, 0);
delete pCurrentView;
}
// 重新计算布局
splitter.RecalcLayout();
这个例子中,我们创建了一个新的视图对象,并将其插入到第 0 行、第 1 列的位置,然后删除了原来的视图。请注意,这只是一个简单的示例,实际使用时可能需要更多的处理,具体取决于你的需求。
转载请注明出处:http://www.zyzy.cn/article/detail/22446/MFC/CSplitterWnd