请问一下,各位大侠,为什么MFC 第二次分割的窗口都显示不出来?
这是MFC基于单文档的窗口分割。代码中 ,tv公有继承于 CView,child2和 ct都是继承于CFormView。
在MainFrm.h中定义了cs1, cs2, cs3三个分割窗口,CSplitterWnd cs1, cs2, cs3;
按照网上的资料代码如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
CRect cr;
GetClientRect(cr);
cs1.CreateStatic(this, 1, 2);//第一次分割为左右两个窗口
cs1.CreateView(0, 0, RUNTIME_CLASS(tv), CSize(0.5*cr.Width(), 0.5*cr.Height()), pContext);
cs1.CreateView(0, 1, RUNTIME_CLASS(tv), CSize(0.5*cr.Width(), 0.5*cr.Height()), pContext);
cs2.CreateStatic(&cs1, 2, 1, WS_CHILD | WS_VISIBLE, cs1.IdFromRowCol(0, 0));//左边窗口分割为上下两个窗口
cs2.CreateView(0, 0, RUNTIME_CLASS(child2), CSize(0.5*cr.Width(), 0.25*cr.Height()), pContext);
cs2.CreateView(1, 0, RUNTIME_CLASS(child2), CSize(0.5*cr.Width(), 0.25*cr.Height()), pContext);
cs3.CreateStatic(&cs1, 2, 1, WS_CHILD | WS_VISIBLE, cs1.IdFromRowCol(0, 1));//右边窗口也分割为上下两个窗口
cs3.CreateView(0, 0, RUNTIME_CLASS(ct), CSize(0.5*cr.Width(), 0.20*cr.Height()), pContext);
cs3.CreateView(1, 0, RUNTIME_CLASS(ct), CSize(0.5*cr.Width(), 0.30*cr.Height()), pContext);
return TRUE;
//return CFrameWnd::OnCreateClient(lpcs, pContext);
但是运行出来,只出现第一次分割的左右两个窗口
请问各位大侠,这个哪里出了问题了呢?
不知道你这个问题是否已经解决, 如果还没有解决的话: