请问各位大哥,MFC下单文档程序怎么才能做到像下面那样的视图分割?
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a                         a         a
a                         a         a
a                         a         a
a                         a         a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a                                   a
a                                   a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
上下两个视图,上面的视图又分左右两块。发不了图只能用这个办法表示了,大家帮帮忙啊~谢谢~~

解决方案 »

  1.   

    在MAINFRAME的头文件中定义两个成员变量 m_SplitWnd, m_SplitWnd1, 然后在CPP文件添加如下函数。BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
    // TODO: 在此添加专用代码和/或调用基类
    m_SplitWnd.CreateStatic(this,2,1);
    m_SplitWnd1.CreateStatic(&m_SplitWnd,1,2);
    m_SplitWnd1.CreateView(0,0,RUNTIME_CLASS(CEditView),CSize(100,200),pContext);
    m_SplitWnd1.CreateView(0,1,RUNTIME_CLASS(CEditView),CSize(0,0),pContext); m_SplitWnd.CreateView(1,0,RUNTIME_CLASS(CEditView),CSize(0,0),pContext);

    return TRUE;
    }
      

  2.   


    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    {
    // TODO: Add your specialized code here and/or call the base class

    m_wndSplitter1.CreateStatic(this, 2, 1); m_wndSplitter2.CreateStatic(&m_wndSplitter1, 1, 2, WS_CHILD|WS_VISIBLE, m_wndSplitter1.IdFromRowCol(0,0));
    m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext);
    m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext); m_wndSplitter1.CreateView(1, 0, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext); return TRUE;
    //return CFrameWnd::OnCreateClient(lpcs, pContext);
    }
      

  3.   

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
        // TODO: 在此添加专用代码和/或调用基类
        m_SplitWnd.CreateStatic(this,2,1);
        m_SplitWnd1.CreateStatic(&m_SplitWnd,1,2);
        m_SplitWnd1.CreateView(0,0,RUNTIME_CLASS(CEditView),CSize(100,200),pContext);
        m_SplitWnd1.CreateView(0,1,RUNTIME_CLASS(CEditView),CSize(0,0),pContext);    m_SplitWnd.CreateView(1,0,RUNTIME_CLASS(CEditView),CSize(0,0),pContext);
        
        return TRUE;
    }
      

  4.   

    请问一下 m_SplitWnd, m_SplitWnd1是什么类型的啊?
      

  5.   

    CSplitterWnd m_wndSplitter1;
    CSplitterWnd m_wndSplitter;