我使用CSplitter来分割两个View,其中一个是派生于CFormView,我在CFormView上放置了一个控件,我希望它在这个FormView的最下面显示,并且它的宽度和此View宽度一样大。
于是乎,我在此派生类中的Onsize(int nType, int cx, int cy)的实现如下,这里CFormView上放置的控件变量叫m_control,HEIGHT为此控件的高度。
{
    CFormView::Onsize(nType, cx, cy);
    if (m_control.m_hWnd)
    {
        m_control.moveWindow(0, cy-HEIGHT, cx, HEIGHT);
    }
}在一般的情况下,拉动Splitter Bar,此控件在FormView上正常显示,可是当拉动Splitter Bar或者窗体的大小,使得Splitter Bar出现滚动条,但当我拖动滚动条时,此控件显示不正常。
比如,拉动Splitter Bar的横向滚动条,在此控件的右边会出现空白区域,而此控件并没有将自己的宽度设置到和FormView一样宽,当拉动Splitter的纵向滚动条,在此控件的下边会出现空白区域,而应该让此控件一直在FormView的最下面。我应该怎么做呢?

解决方案 »

  1.   

    http://www.codeproject.com/splitter/toolbar_splitter.asp
      

  2.   

    将此控件的起始大小设置为(0,0),如果你是在资源中放入此控件,修改资源文件(用文本编辑,在VC IDE下面不可能将控件大小设为0),使其大小为0,就可以解决你说的问题了。
      

  3.   

    将此控件的起始大小设置为(0,0),如果你是在资源中放入此控件,修改资源文件(用文本编辑,在VC   IDE下面不可能将控件大小设为0),使其大小为0,就可以解决你说的问题了。我短消息给你,没想到你原封不动贴上了,呵呵。