我的主对话框上有一个child子窗口(无标题,类似于一个属性页窗口)。想实现主对话框拖动大小时,里面的控件大小也自动调整。其它控件自动调整大小的功能已经实现了,但是子窗口却收不到主对话框大小改变时的消息,怎么办?

解决方案 »

  1.   

    捕捉WM_SIZE消息,根据对话框大小设置控件的大小就行了。(用比例。 )  
      

  2.   

    在主对话框ONPAINT中
    ::PostMessage(childwend,WM_PAINT,0,0);
      

  3.   

    在主对话框的WM_SIZE消息中SetWindowPos子对话框的位置,这样就能触发子对话框的WM_SIZE消息.如果父窗口只是位置改变,子对话框要随动的话,还需要响应父窗口的WINDOWPOSCHANGED消息并SetWindowPos子对话框的位置.
      

  4.   

    主界面的onsize里面,根据主界面的大小,用movewindow重摆子控件或子界面的位置
      

  5.   

    网上有个EasySize.h 的文件,可以帮助你拖动缩放对话框时,控件自动适用.
      

  6.   

    你在父窗口的WM_SIZE消息处理函数中发送一个自定义消息给子窗口,子窗口不就知道了