我通过MFC向导建立一个了一个文档应用程序,在客户区放置了一些控件,当窗口大小改变时控件位置没有变,客户区一下子就多了很多空白,如何做到窗口大小改变使控件也随着调整呢?

解决方案 »

  1.   

    在窗口的OnSize函数里调用MoveWindow函数来改变控件的大小,
    如:Button.MoveWindow(...);
      

  2.   

    在窗口的OnSize函数里调用MoveWindow函数来改变控件的大小
      

  3.   

    ls正解
    控件的显示比例要先计算清楚,然后根据此比例用MoveWindow函数调整位置
      

  4.   

    如果有很多控件,都要一个一个用MoveWindow调整吗?
      

  5.   

    太麻烦了,为啥没有像java或是c#中的停靠属性呢
      

  6.   

    你可以把控件用Create函数产生,里面的坐标使用变量
      

  7.   

    在WM_SIZE消息处理中:计算窗体缩放比例
    定义一种控制缩放比例和位移算法
    进而计算控制位置和大小使用MoveWindow方法
    或使用SetWindowPos方法来完成位置和大小的定义