用Splitter类分割窗口后,通过CreateView方法创建视图。拉动窗口,发现窗口对应的视图的大小没变,用MoveWindow改变大小也没用。调用对应的CDC改变大小也没用。求教改变这个View大小的方法,谢谢。

解决方案 »

  1.   

    CSplitterWnd::SetRowInfo/CSplitterWnd::SetColumnInfo设置对应拆分视图的大小,然后CSplitterWnd::RecalcLayout刷新一下。如果是里面的窗口(View),可能还要用MoveWindow调整一下。
      

  2.   

    前面两步多做了,还请教最后一步该怎么做?
    我就是要使里面的窗口(View)也变化。比如我把整个窗口拖大了,里面的几个小窗口也变大了(通过CSplitterWnd::SetRowInfo/CSplitterWnd::SetColumnInfo),但是小窗口里面的View却没变大。拉多出来的部分没法画东西。请问怎么用MoveWindow调整呢?是跟着
    CSplitterWnd::RecalcLayout
    马上就这样?
    CWnd * pw = m_wndSplitter->GetPane(0, 0);
    pw->MoveWindow(0, 0, Winsize_x, Winsize_y, true);
    可还是不行,对应的View没变大。在View里调用MoveWindow也没用。恳请再指教一下,谢谢。