模态对话框想实现以下功能
    初始显示时很小,有一些控件和一个按钮。
    点下按钮后,对话框在y方向上变大,在变大的地方多出来一些控件,
    再次点下该按钮后,对话框恢复原来的大小,多出来的控件消失。

解决方案 »

  1.   

    在按钮的响应函数中
    MoveWindow or SetWindowPos 改变对话框大小也可以参考这个http://www.codeproject.com/dialog/dlgexpand.asp
      

  2.   

    那些控件可以一开始就放在对话框上,只是是隐藏的,需要的时候再用ShowWindow来显示出来
      

  3.   

    // 收缩
    CRect rc;
    GetWindowRect(&rc);
    SetWindowPos(GetSafeHwnd(), NULL, 0, 0, rc.Width(), rc.Height(), SWP_NOMOVE|SWP_NOZORDER);// 搌开
    CRect rc;
    GetWindowRect(&rc);
    SetWindowPos(GetSafeHwnd(), NULL, 0, 0, rc.Width(), rc.Height()+200, SWP_NOMOVE|SWP_NOZORDER);
      

  4.   

    初始化对话框的时候,那些控件就应当创建出来,由于处于对话框的可显示区域之外,因此用户无法看到他们。点击按钮之后,如果对话框的大小是较小的情况用MoveWindow调整到大的情况,反之亦然,好像不是很难。