我用CSplitter将窗口分割成两部分,如何将限制窗口最小时的尺寸?

解决方案 »

  1.   

    就是SetColumnInfo 或者SetRowInfo
    注意区分Column和Row别错了!
    大小范围就是他们的最后一个(第三个)参数
    他是以最小的来区分的!
    其实这一个参数就可以把最大也给设定了
    方法是把他对应的另外一个设置最小,那么他的这边就是最大:
    比如:
    左右
    |       |             |
    |  左   |     右      |
    |       |             |
    你设置左边的时候,给第三个参数一个100,就表示,如果左边的宽最小为100,
    那么也就是说右边的最大不就是  总- 100
      

  2.   

    BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    { m_WndSplitter.CreateStatic(this, 1, 2); m_WndSplitter.CreateView(0, 0, RUNTIME_CLASS(CTestView), CSize(100, 100), pContext);
        m_WndSplitter.CreateView(0, 1, RUNTIME_CLASS(CTestView), CSize(100, 100), pContext); CRect rect;
        GetClientRect(&rect); m_WndSplitter.SetColumnInfo(0, 100,0);
    m_WndSplitter.SetColumnInfo(1, rect.Width() - 100, 0); return true;
    // return CMDIChildWnd::OnCreateClient(lpcs, pContext);
    }
    请问是不是上面的代码有问题.还是无法实现...
      

  3.   

    ……m_WndSplitter.SetColumnInfo(0, 100,0);
    m_WndSplitter.SetColumnInfo(1, rect.Width() - 100, 0);
    //在这里加入
    m_WndSplitter.RecalcLaout();……