1. 设置对话框属性:Styles->Broder:Resizing
2. 添加 #include"easysize.h"
3. 在对话框类定义的最前面添加 DECLARE_EASYSIZE (注意:没有分号)
4. 在对话框的 OnInitDialog 消息函数中添加:
OnInitDialog()
{
CDialog::OnInitDialog();
........
INIT_EASYSIZE;
return TRUE;
}
5. 重载消息 WM_SIZE 消息函数:
OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
UPDATE_EASYSIZE;
}
6. 在 END_MESSAGE_MAP () 的后面下一行添加:
BEGIN_EASYSIZE_MAP (对话框类名)
EASYSIZE(control,left,top,right,bottom,options)
EASYSIZE(.......)
END_EASYSIZE_MAP
EASYSIZE () 详解:
(1).control: 需要调整大小的控件的 ID;
(2).left,top,right,bottom: 为控件左上角和右下角的坐标 (亦可以看作控件的四条边), 取值可以为:
ES_BORDER: 控件与对话框边界的距离;
ES_KEEPSIZE: 控件水平 / 垂直方向上尺寸保持不变;
控件 ID 值: 当前控件与指定控件之间的距离;
(3).Options: 可以为 ES_HCENTER, ES_VCENTER 的结合,options 可置 0。
ES_HCENTER 表示缩放后控件在指定位置内水平居中;
ES_VCENTER 表示缩放后控件在指定位置内垂直居中;