我想写一个对话框类,这个对话框类可以动态改变对话框的大小。//设置对话框的显示位置
CMyDialog::SetBoundRect(CRect& rect)
{
//对话框上的所有控件,均按比例缩放后显示

//对话框页面刷新

将来我这么调用
m_Dialog.SetBoundRect(myRect);
就可以随时改变对话框的大小。能做到吗?

解决方案 »

  1.   

    在你的函数中要调用WM—SIZE和WM—SIZEING,先要映射这两个消息函数然后用GETWINDOWRECT()和SETWINDOWRECT()来得到和设置你DIALOG上的控件的新位置,最后用REDRAWWINDOW()来刷新你的窗口
      

  2.   

    写一个对话框,可以自由设置对话框的显示位置,并且对话框上的所有控件可以按比例显示。CMyDialog myDlg;
    myDlg.SetBoundRect(myRect);//设置对话框的显示位置
    myDlg.DoModal();谁有这样的源码?
      

  3.   

    自由设置对话框的显示位置:MoveWindow(myRect);对话框上的所有控件可以按比例显示倒是有些麻烦,你可以先得到所有控件的窗口句柄,还是通过MoveWindow()来设置控件的位置!!
      

  4.   

    ——请问:MoveWindow放在哪里?
    ——等我有空的时候,去测试一下。谢谢!
      

  5.   

    there is an esay way,u can use the CResizableDialog class by Paolo Messina http://www.codeproject.com/dialog/resizabledialog.asp
      

  6.   

    http://www.codeproject.com/dialog/ResizableLib.asp