响应框架的onsize消息,然后调用csplitewnd的方法,手头上没资料, 不过肯定有这样的函数的:)

解决方案 »

  1.   

    你做分割窗口是用CSplitterWnd类吧。你在CreateView函数里指定这个视的大小。但当窗口大小变化后,这些视确实不再成比例。建议这样:
    1,从CSplitterWnd派生一个自己的类,叫CYourSplitterWnd吧。用它代替CSplitterWnd来产生窗口;
    2,重载CYourSplitterWnd的OnSize消息函数如下:
    void CLockSplitter::OnSize(UINT nType, int cx, int cy) 
    {
    RECT rect;
    int Width; GetClientRect(&rect);
    Width=rect.right-rect.left-115;
    if(m_pColInfo!=NULL)
    if(Width<0)
    SetColumnInfo(0,1,1);
    else
    SetColumnInfo(0,Width,Width); CSplitterWnd::OnSize(nType, cx, cy);

    }
    其中的115可以自己根据需要指定,就应该可以了。