把主界面分割成三个界面 已经实现了,但是在拖动第一个和第二个界面间的分割条时 第三个界面的大小会改变,怎么样使第三个界面在这个时候不变

解决方案 »

  1.   

    BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
    if(!m_wndSplitter.CreateStatic(this,3,1)){
    return FALSE;
    } CRect rect;
    GetClientRect(&rect);  if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(M_SQ_CAD),CSize(rect.Width(),rect.Height()/2),pContext))
      {
      printf("1失败");
      return FALSE;
      }  if(!m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(M_SQ_CSPLIT_FRAME),CSize(rect.Width(),rect.Height()/2),pContext))
      {
      printf("1失败");
      return FALSE;
      }  if(!m_wndSplitter.CreateView(2,0,RUNTIME_CLASS(M_SQ_CAD_BOTTOM),CSize(rect.Width(),rect.Height()/2),pContext))
      {
      printf("1失败");
      return FALSE;
      }  pView1 = (M_SQ_CSPLIT_FRAME*)m_wndSplitter.GetPane(1,0);//获取分隔栏窗口
      pTopView = (M_SQ_CAD*)m_wndSplitter.GetPane(0,0);//获取分隔栏窗口
      pBottomView = (M_SQ_CAD_BOTTOM*)m_wndSplitter.GetPane(2,0);//获取分隔栏窗口
    //   CRect pRect;
    //   pView1->pview->GetWindowRect(pRect); return TRUE;
    }
      

  2.   


    BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
    if(!m_wndSplitter.CreateStatic(this,3,1)){
    return FALSE;
    } CRect rect;
    GetClientRect(&rect);  if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(M_SQ_CAD),CSize(rect.Width(),rect.Height()/2),pContext))
      {
      printf("1失败");
      return FALSE;
      }  if(!m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(M_SQ_CSPLIT_FRAME),CSize(rect.Width(),rect.Height()/2),pContext))
      {
      printf("1失败");
      return FALSE;
      }  if(!m_wndSplitter.CreateView(2,0,RUNTIME_CLASS(M_SQ_CAD_BOTTOM),CSize(rect.Width(),rect.Height()/2),pContext))
      {
      printf("1失败");
      return FALSE;
      }  pView1 = (M_SQ_CSPLIT_FRAME*)m_wndSplitter.GetPane(1,0);//获取分隔栏窗口
      pTopView = (M_SQ_CAD*)m_wndSplitter.GetPane(0,0);//获取分隔栏窗口
      pBottomView = (M_SQ_CAD_BOTTOM*)m_wndSplitter.GetPane(2,0);//获取分隔栏窗口
    //   CRect pRect;
    //   pView1->pview->GetWindowRect(pRect); return TRUE;
    }