本帖最后由 yrisxfyh 于 2010-09-29 09:09:11 编辑

解决方案 »

  1.   

    主窗口框架类CMainFrame响应WM_SIZE消息里处理,调用CSplitterWnd::SetColumnInfo();然后调用CSplitterWnd::RecalcLayout();
      

  2.   

    mapedit?
    我在用CDialogBar+CTabCtrl弄
    你分隔视图做什么?
      

  3.   


    //BOOL m_bCreateClient; // 定义为CMainFrame类的成员变量,初始化为FALSE
    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    {
    // TODO: Add your specialized code here and/or call the base class

    m_bCreateClient = m_Splitter.CreateStatic(this, 1, 2); m_Splitter.CreateView(0, 0, RUNTIME_CLASS(CXXView), CSize(0, 0), pContext); m_Splitter.CreateView(0, 1, RUNTIME_CLASS(CXXXView), CSize(0, 0), pContext);   return m_bCreateClient;
    }void CMainFrame::OnSize(UINT nType, int cx, int cy) 
    {
    CFrameWnd::OnSize(nType, cx, cy);

    // TODO: Add your message handler code here
    if(m_bCreateClient)
    {
    CRect rect;
    GetWindowRect(&rect); m_Splitter.SetColumnInfo(0, rect.Width()-200, 10);
    m_Splitter.SetColumnInfo(1, 200, 10);
    m_Splitter.RecalcLayout();
    }
    }