拆分已拆分的窗格 (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)的主要内容,如果未能解决你的问题,请参考以下文章