做界面时,用Splitter分割界面,只会单独上下分或是左右分,怎么将界面分为左右下三部分区域呢?
还有就是:vc++中怎么获取view的指针呢?期望各位侠士指点!

解决方案 »

  1.   

    POSITION pos=GetFirstViewPosition();
    CView *pFirstView=GetNextView(pos);
      

  2.   

    splitter.CreateStatic (this , 1, 2 );
    我是代替this的指针,这怎么写啊?
      

  3.   

             |  CView2
             |_________
      CView1 |
             |  CView3//假如要切分成图示窗口//定义两个CSplitterWnd的成员变量
    CSplitterWnd m_wndVerSplitter;  //垂直切分
    CSplitterWnd m_wndHorSplitter;  //水平切分BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
        m_wndHorSplitter.CreateStatic(this, 1, 2);  //先水平切分成左右两部分
        m_wndVerSplitter.CreateStatic(&m_wndHorSplitter, 2, 1,
             WS_CHILD|WS_VISIBLE, m_wndHorSplitter.IdFromRowCol(0,1));  //再将右半部分切分成上下两个    CRect rcClient; 
        GetClientRect(&rcClient);
        int cxRect = rcClient.Width();
        int cyRect = rcClient.Height();    m_wndHorSplitter.CreateView(0, 0, RUNTIME_CLASS(CView1), CSize(cxRect/4,cyRect),
                pContext);  //创建左视图
        m_wndVerSplitter.CreateView(0, 0, RUNTIME_CLASS(CView2), CSize 
                (cxRect*3/4,cyRect*1/3), pContext);  //创建右下视图
        m_wndVerSplitter.CreateView(1, 0, RUNTIME_CLASS(CView3), CSize
                (cxRect*3/4,cyRect*2/3), pContext);  //创建右上视图    return TRUE;
    }//获取切分窗口View的指针,比如获取右上视图指针
    CView2* pView2 = (CView2*)m_wndVerSplitter.GetPane(0,0);