MFC 自适应大小

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。

  1. ES_BOARD表示控件与对话框边界(以下简称边界)的距离;
  2. ES_KEEPSIZE表示控件水平/垂直方向上尺寸保持不变;
  3. 控件ID值表示当前控件与指定控件之间的距离;
  4. ES_HCENTER表示缩放后控件在指定位置内水平居中;
  5. 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的控件,距离边界上下位置保持不变,垂直方向尺寸拉伸,水平居中;

猜你喜欢

转载自blog.csdn.net/weixin_48119140/article/details/108453629