在stdafx.h中引用EasySize.h头文件(同时将EasySize.h放到你的程序目录中)
在类定义中添加DECLARE_EASYSIZE
class CEasySizeDemoDlg : public CDialog
{
DECLARE_EASYSIZE
.....
};
增加OnInitDialog处理函数,将INIT_EASYSIZE放到函数尾处。
BOOL CEasySizeDemoDlg::OnInitDialog()
{
....
INIT_EASYSIZE;
}
增加OnSize函数,添加宏UPDATE_EASYSIZE
void CEasySizeDemoDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
UPDATE_EASYSIZE;
}
创建EasySize映射(map),在此map里,你可以制定每个对话框的行为。
BEGIN_EASYSIZE_MAP(CEasySizeDemoDlg)
EASYSIZE(IDC_TAB1, ES_BORDER, ES_BORDER, ES_BORDER, ES_BORDER, 0);
END_EASYSIZE_MAP
通过在EasySize Map中使用EASYSIZE宏来指定当对话框改变时control相应的行为,宏定义格式如下:
EASYSIZE(control,left,top,right,bottom,options)
参数1(Control):需要重新定位的control ID.
参数2、3、4、5(left, top, right and bottom ):这四个参数可以设定的值有其它控件的ID、特定的值如如ES_BORDER、ES_KEEPSIZE。
ES_BORDER :代表控件与边框的距离保持不变。
ES_KEEPSIZE:代表控件的宽度和高度保持不变,left/right只能设置其中一个为ES_KEEPSIZE,同理,top/bottom亦然。
参数6(options):ES_HCENTER, ES_VCENTER and 0的组合。
ES_HCENTER :代表控件在left/right之间水平居中,此时这两个参数都不能设置为ES_KEEPSIZE,控件的宽度保持不变。
ES_VCENTER 同理(垂直方向)。