msdn里面有一个sample: splitterwindow,在此基础上,我想人为控制每个分割窗口的大小,怎样做?比如有上下两个窗口,让下面的窗口永远保持150的高度。是用SetRowInfo来做吗?我自己调用SetRowInfo执行到此句便出错?另外一种办法,我有一个cformview里面画了一个按钮表示分割条,定义了一个CButton变量m_bt2与之对应,我想如下方式作一个假的分割窗口,结果也不行。每次对m_bt2调用MoveWindow的时候,便报错,这是为什么?void CTrackerView::OnSize(UINT nType, int cx, int cy) 
{
CFormView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
if (cx != 0 && cy != 0) 
{
//m_map.MoveWindow(0,0,cx,cy,TRUE ); 
m_map.MoveWindow(CRect(0,0,cx,max(cy-150,1)),TRUE ); 
m_bt2.MoveWindow (CRect(0,cy-150,cx,10));
}
}

解决方案 »

  1.   

    急啊!大家救我!mfc不是特别熟悉,真的拜托了!
      

  2.   

    重载!在构造涵数中可改变宽度如:  
    CSplitterWndEx::CSplitterWndEx():  
           {  
           m_cxSplitter=1;            //你要的一个像素的宽度  
           m_cySplitter=1;  
           m_cxBorderShare=0;  
           m_cyBorderShare=0;  
           m_cxSplitterGap=1;  
           m_cySplitterGap=1;  
           m_cxBorder=0;  
           m_cyBorder=0;  
    }  
    CSplitterWndEx::CSplitterWndEx():  
      

  3.   

    CSplitterWndEx 是什么类?mfc中没有啊。
      

  4.   

    一个相关问题,答完加分:请问对CButton,CEdit这样的窗口如何改变它的位置和大小?是不是不能改变其大小?我每次调用MoveWindow()和SetWindowPos()都出现错误。