拆分已拆分的窗格 (MFC)

Posted

技术标签:

【中文标题】拆分已拆分的窗格 (MFC)【英文标题】:Splitting a already split pane (MFC) 【发布时间】:2008-10-15 12:50:49 【问题描述】:

在我的 MFC 程序中,我使用拆分器来创建两个窗格。我现在想再次将这些窗格中的一个分成两半并放入另一个视图,有人可以告诉我如何做到这一点或指出一些代码的方向吗?

我更愿意自己编写代码,因此我对自定义派生类不感兴趣,除非它们非常基础。

谢谢!

【问题讨论】:

【参考方案1】:

CMainFrame::OnCreateClient

// Create splitter with 2 rows and 1 col
m_wndSplitter.CreateStatic(this, 2, 1);
// Create a view in the top row
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CView1), CSize(100, 100), pContext);
// Create a 2 column splitter that will go in the bottom row of the first
m_wndSplitter2.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(1, 0));
// Create views for the bottom splitter
m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CView2), CSize(100, 100), pContext); 
m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CView3), CSize(100, 100), pContext);
...

【讨论】:

试试这个:m_wndSplitter2.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(1, 0)); Rob 你太棒了:D 无法告诉你我今天为此挣扎了多久:D【参考方案2】:

我不是 MFC 方面的专家,但您不能在使用第一个拆分器制作的窗格中放置一个拆分器吗?那就是我们在winform中的做法......

【讨论】:

不,初始拆分是在 mainfrm 中完成的,并且视图与那里的窗格相关联。

以上是关于拆分已拆分的窗格 (MFC)的主要内容,如果未能解决你的问题,请参考以下文章

在 mfc vs2010 运行时替换拆分器窗口中的视图

在 HTML 中进行拆分窗格的最佳方法 [关闭]

iTerm2 键盘快捷键 - 拆分窗格导航

拆分窗格、滚动窗格和布局如何工作

是否有在拆分窗口窗格之间切换的热键?

MFC 窗口分割(拆分)问题