在文档视图模式下:
将视图分割为左右两部分,通过点击分割条实现隐藏和显示左边视图.
望高手指教,最好能有例子和源代码.谢谢!!!

解决方案 »

  1.   

    找一下切分视图就行了,主要就是CsplitterWnd类的应用
      

  2.   

    1.使用CsplitterWnd类切分视图
    2.在你的命令响应函数中使用CSplitterWnd::SetColumnInfo函数设置视图的宽度,即用于隐藏、显示你需要的视图
      

  3.   

    在MSDN中查下CsplitterWnd类就清楚了
      

  4.   

    Reset()
    {
      m_nRows = m_nMaxRows;
      m_nCols = m_nMaxCols;  CWnd * pWnd;
      int row, col;
      for (row = 0; row < m_nRows; row++)
      {
        for (col = 0; col < m_nCols; col++)
        {
          pWnd = GetPane(row, col);
          pWnd->ShowWindow(SW_SHOW);
        }
      }}
    HideCol(int col)
    {
    ASSERT_VALID(this);
    ASSERT(m_nCols > 0);
    ASSERT(col <= m_nCols);
    SetActivePane(0, 0);
    CWnd* pPane = GetPane(0, col);
            if (pPane)
      pPane->ShowWindow(SW_HIDE);
    m_nCols--;
    RecalcLayout();
    }HideSplitter()
    {
    m_cx=m_cxSplitterGap;//save previous cx    amount of space between panes
    m_cy=m_cxSplitterGap;//save previous cy
    m_cxSplitterGap=1;
    m_cySplitterGap=1; // borders in client area
    m_cxBorder = 1;
    m_cyBorder = 1;
    RecalcLayout();            
    }        m_wndSplitterLeft.Reset();
    m_wndSplitterLeft.SetColumnInfo(0,0,0);
    m_wndSplitterLeft.RecalcLayout();
    RecalcLayout();
    m_wndSplitterLeft.HideCol(0);
    m_wndSplitterLeft.HideSplitter();
      

  5.   

    下面代码可以使左窗在关闭和打开之间切换,但是这里的关闭不是销毁左窗,而是最小化了,看看是不是你要求的。   CRect rect;
       GetWindowRect( &rect );
       if( m_bSplitterCreated )  // m_bSplitterCreated set in OnCreateClient
       {
       if( !m_bMinLeft )
       {
       m_wndSplitter.SetColumnInfo(0, 0, 0);
       m_wndSplitter.SetColumnInfo(1, rect.Width(), 10);
       m_wndSplitter.RecalcLayout();
       }
       else
       {
       m_wndSplitter.SetColumnInfo(0, 250, 10);
       m_wndSplitter.SetColumnInfo(1, rect.Width()-250, 10);
       m_wndSplitter.RecalcLayout();
       }
       m_bMinLeft = !m_bMinLeft;
       }
      

  6.   

    自己继承一个CSplitterWnd,然后重载鼠标点击消息,在里面写隐藏代码
      

  7.   

    选择project 选项中的 Control 添加 Splitter 控件就行了
      

  8.   

    需要通过点击分割条上的特色区域来隐藏左边视图。CsplitterWnd类没有这样的特色区域。只有单单的一个分割条。不能上图啊,要是能看到图就可以表达我要的效果了
    就想网络上看MSDN那样,左边视图很多选项,中间分割条,点击分割条中间可以隐藏左边,再点击则显示左边视图。就要这样的效果
    谢谢
    哪位大哥能写个例子给我吗!!!