在切分窗口后用CreateView创建两个视图,CreateView中有Size参数来设置视图大小,在各视图的PreCreateWindow函数中的cs结构又可以设置大小,那么该听谁的呢?我试了几遍都找不到结果,请教大侠。

解决方案 »

  1.   

    在PreCreateWindow函数中设置的大小是窗口实际大小,
    CreateView中Size只是窗口在CSplitterWnd对象中显示的大小
    如果实际大小大了,在窗口本身自动支持滚动的情况下会出现
    滚动条,否则(实际大小过小)扩展窗口至整个分割区域
      

  2.   

    CSplitterWnd会在
    RecalcLayout
    中重新计算每个Pane的大小,当然会根据原来的值进行计算,
    尽量让每个Pane不小于CreateView中指定的大小。
      

  3.   

    应该直听CreateView的size???为什么你试会找不到结果
      

  4.   

    即便CreateView中指定了大小,也可以在其后用
    void SetRowInfo( int row, int cyIdeal, int cyMin );

    void SetColumnInfo( int col, int cxIdeal, int cxMin );
    来设置。
    只要最后RecalcLayout
    就可以了。
      

  5.   

    PreCreateWindow()中的窗口尺寸是初始化大小,以后随便改的。CreateView()中指定的尺寸,应该是在View的CreateWindow()之后用的,所以以此为准。