MFC自适应大小
一 在stdafx.h 中加入easysize.h 头文件
找不到easysize.h 头文件的可以去我资源里面下载,不需要积分
二 在Dlg.h 中加入 DECLARE_EASYSIZE 宏
三 在OnInitDialog()中 加入 INIT_EASYSIZE; 宏
四 添加响应函数
类视图中找到对应的Dlg ,右键属性
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
响应函数代码
最后 添加宏 映射
EASYSIZE(control,left,top,right,bottom,options) 的用法:
其中:control为对话框中的控件ID,left,top,right,bottom四个参数为控件位置的坐标 对应为( 左,上 ,右,下),其值可以选择ES_BOARD, ES_KEEPSIZE, 控件ID值三者之一。Options可以为ES_HCENTER, ES_VCENTER的结合,options可置0。
- ES_BOARD表示控件与对话框边界(以下简称边界)的距离;
- ES_KEEPSIZE表示控件水平/垂直方向上尺寸保持不变;
- 控件ID值表示当前控件与指定控件之间的距离;
- ES_HCENTER表示缩放后控件在指定位置内水平居中;
- ES_VCENTER表示缩放后控件在指定位置内垂直居中;
例如:
EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,0)
表示缩放后,值为IDOK的控件,距离边界上下左右位置保持不变,水平和垂直方向尺寸拉伸;
EASYSIZE(IDOK,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,ES_HCENTER)
表示缩放后,值为IDOK的控件,距离边界上下位置保持不变,垂直方向尺寸拉伸,水平居中;