???

解决方案 »

  1.   

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
      BOOL b_rtn = TRUE;
      
      if(m_spliter.CreateStatic(this,1,2))   // 在M
      {
        b_rtn = m_spliter.CreateView(0,0,RUNTIME_CLASS(CViewLeft),CSize(250,100),pContext);
        if(b_rtn)
        {
          b_rtn = m_spliter.CreateView(0,1,RUNTIME_CLASS(CViewRightUp),CSize(250,100),pContext);
          b_rtn = m_spliter.CreateView(1,1,RUNTIME_CLASS(CViewRightDown),CSize(250,100),pContext);
         }
      }
      else
      {
        m_spliter.DestroyWindow();
        b_rtn = FALSE;
      }
     
      return b_rtn;
    }
      

  2.   

    还没写完就莫名其妙的提交:(// 在MainFrm.h 定义一个CSplitterWnd m_spliter;成员
      

  3.   

    试试这个:
    在主窗口类中声明两个CSplitterWnd的成员变量m_spHor和m_spVer;
    然后,重载CMainFram的OnCreateClient函数:
    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    {
    this->m_spVer.CreateStatic(this,1,2); this->m_spHor.CreateStatic(&m_spVer,2,1,WS_CHILD|WS_VISIBLE,m_spVer.IdFromRowCol(0,1)); this->m_spVer.CreateView(0,0,pContext->m_pNewViewClass,CSize(40,100),pContext); this->m_spHor.CreateView(0,0,pContext->m_pNewViewClass,CSize(60,80),pContext); this->m_spHor.CreateView(1,0,pContext->m_pNewViewClass,CSize(60,20),pContext); return TRUE;

    }
      

  4.   

    上面"Create"显示的program可以实现!
      

  5.   

    定义两个CSplitterWnd 变量(m_wndSplitter1,m_wndSplitter2),首先用m_wndSplitter1调用其CreateStatic方法,然后调用CreateView方法创建左边的视图,再用m_wndSplitter2调用其CreateStatic方法,用&m_wndSplitter1作其第一个参数,然后在调用CreateView方法创建右边两个视图。