说明
在MFC(Microsoft Foundation Classes) 中,控件的大小是以DLU(Dialog Unit)作为基本单位的,只要更改对话框的字体大小,其控件字体和控件的大小、位置均会成比例的发生变化。
使用方法
1. 定义DLU为字体号(_DLU_size 也可声明为类的成员变量)
#define _DLU_size 9
2. 添加DLU与屏幕像素映射关系宏
#define DLU_SIZE(x, y) (x) * _DLU_size/6, (y) * _DLU_size/6
3. 在 UI 组件控制时使用上一步定义的宏进行设置。例如:
this->setFont(QFont("宋体", _DLU_size));
// QComboBox *cmbCruiseRoute;
cmbCruiseRoute = new QComboBox(this);
cmbCruiseRoute->setName("cmbCruiseRoute");
cmbCruiseRoute->move(DLU_SIZE(89, 13));
cmbCruiseRoute->resize(DLU_SIZE(90, 13));