本帖最后由 xyzhaopeng 于 2010-06-28 16:48:29 编辑

解决方案 »

  1.   

    m_wndSplitter1.SetRowInfo(1, rect.Height()/2, 600);//设置高度
    m_wndSplitter1.SetColumnInfo(0, rect.Width(), 100); //设置宽度
    m_wndSplitter1.RecalcLayout(); //重排加上上述代码试一试
      

  2.   


    CRect rect; 
    GetClientRect(&rect); 
    //产生第一次静态切分 
    m_wndSplitter1.CreateStatic(this, 2,  1);  //父窗口指针 // 行数// 列数 
    m_wndSplitter2.CreateStatic(&m_wndSplitter1, 
    1, 
    2, 
    WS_VISIBLE|WS_CHILD, 
    m_wndSplitter1.IdFromRowCol(0,0)); 
    //为第1个窗格产生视图 
    m_wndSplitter1.CreateView(1,0,          // 窗格的行、列序数 
    RUNTIME_CLASS(CEditFormV),          //视图类 
    CSize(rect.Width(),rect.Height()/5), //初始化大小  
    pContext);                          //父窗口的创建参数 
    m_wndSplitter1.SetRowInfo(0,350,350); //加上这句
    //为第2个窗格产生视图 
    m_wndSplitter2.CreateView(0,0,              
    RUNTIME_CLASS(CDlgLeftView),            
    CSize(rect.Width()/5,rect.Height()*4/5), 
    pContext);                            
    m_wndSplitter2.CreateView(0,1, 
    RUNTIME_CLASS(CGDI_PractiseView), 
    CSize(rect.Width()*4/5,rect.Height()*4/5), 
    pContext); 
      

  3.   

    你在CreateView设置窗口大小是不要使用固定的大小,使用动态的。
    如果父窗口大小小于这些窗口之和时,则Spltter窗口大小不定。另外SetRowInfo函数必须在OnCreateClient函数的结尾处调用才有效
      

  4.   

    哈哈解决啦,分数就给rebort_Q这位兄弟啦,同样感谢tttyd兄弟啊。