对话框resize后 判断尺寸 如果长或宽超过范围 就重新resize为默认值

解决方案 »

  1.   

    重载 OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 消息    lpMMI->ptMinTrackSize.x = 400 ;
        lpMMI->ptMinTrackSize.y = 400 ;    lpMMI->ptMaxTrackSize.x = 500 ;
        lpMMI->ptMaxTrackSize.y = 500 ;    CDialog::OnGetMinMaxInfo(lpMMI);这样就可以限制最大和最小的尺寸了
    当然在VC的缺省的ClassWizard里不能处理这个消息,因为VC缺省认为
    Dialog是不改变大小的,你在进入ClassWizard后,先选择Class Info
    把Message Filter里的Dialog先该为Window,然后回到Message Maps里
    添加该消息,添加后,再回到Class Info,改回Dialog
    然后去编写代码了,记住,在资源的对话框的属性里里,
    把对话框设置为可改变大小的
      

  2.   

    API: 响应消息 WM_SIZING ,消息的第二个参数是一个 RECT 指针,修改
    RECT 的大小。
      

  3.   

    好像也可以在PreCreateWindow中限制.