MFC 界面部件大小位置自适应 EasySize的使用
来源:互联网 发布:yes淘宝刷信用 编辑:程序博客网 时间:2024/05/22 08:36
EasySize类范例程序(EasySize_demo,EasySize_src)
下载地址http://www.codeproject.com/KB/dialog/easysize.aspx
使用说明
步骤一
a将#include EasySize.h加载入stdafx.h
b或者将#include EasySize.h加载入TestCurveDlg.h中,即直接放入需要使用的窗口文件
实际应用时,采用b方式,否则会出现编译错误
步骤二
将DECLARE_EASYSIZE添加到任何一处类声明中(TestCurveDlg.h)
class CTestCurveDlg : public CDialog
{
DECLARE_EASYSIZE
创建OnInitDialog(如果程序中不存在的话,不程序中原本就有),将"INIT_EASYSIZE;"添加进去(TestCurveDlg.cpp)
BOOL CTestCurveDlg::OnInitDialog()
{
... ...
}
创建OnSize,将UPDATE_EASYSIZE添加进去(TestCurveDlg.cpp)
void CTestCurveDlg::OnSize(UINT nType, int cx, int cy)
{
CRect rect;
如果需要用户设置的最小化功能,可以创建OnSizing,添加EASYSIZE_MINSIZE(具体可参照EasySize_demo)
void CEasySizeDemoDlg::OnSizing(UINT fwSide, LPRECT pRect)
{
}
//(in this example, 280 is the minimum width and 250 the minimum height we want our dialog to have)
创建一个"EasySize Map",功能:设置放大/缩小窗口时的显示效果,可以放在类的任何位置。
BEGIN_EASYSIZE_MAP(class_name)
END_EASYSIZE_MAP
BEGIN_EASYSIZE_MAP(CTestCurveDlg)
EASYSIZE(IDC_STATIC,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel0, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel1, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel2, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel3, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel4, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel5, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel6, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel7, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel8, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel9, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel10,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel11,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel12,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel13,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel14,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_CHECK_Channel15,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0)
EASYSIZE(IDC_BUTTON_OpenFile,ES_KEEPSIZE,ES_KEEPSIZE,ES_BORDER,ES_BORDER,0)
EASYSIZE(IDC_BUTTON_ZoomOut, ES_KEEPSIZE,ES_KEEPSIZE,ES_BORDER,ES_BORDER,0)
EASYSIZE(IDC_BUTTON_Resort,
EASYSIZE(IDC_STATIC_CURVE,ES_BORDER,ES_BORDER,IDC_STATIC,IDC_BUTTON_ZoomOut,0)
END_EASYSIZE_MAP
...
注释
EASYSIZE(control,left,top,right,bottom,options)
Control---控件的ID,需要设置的控件
left top right bottom---矩形框的位置,可以设置的参数:ES_BORDER、ES_KEEPSIZE、其他control的ID。
Control
iii top=ID2
iv bottom=ID2 ID1下边到ID2上边的距离保持不变(不管ID2如何变化)
options---特别操作ES_HCENTER, ES_VCENTER and 0的结合。
0代表没有任何操作;
ES_HCENTER代表控件在left/right之间水平居中,此时left/right都不能设置成ES_KEEPSIZE,控件的宽度保持不变;
ES_VCENTER同理ES_HCENTER
- MFC 界面部件大小位置自适应 EasySize的使用
- MFC界面控件位置大小控制的EasySize使用说明
- 使用EASYSIZE实现空间位置/大小随窗口的变化而变化
- easysize的使用方法 (实现控件大小位置随界面变化而有相应的变化,这个变化可以自己设置)
- 【VS开发】EasySize使用设置CFormView空间自适应view窗口大小
- Easysize 的使用
- EasySize的使用
- EasySize的使用
- Easysize 的使用
- Easysize 的使用
- 【转】关于EASYSIZE宏(动态调整控件位置、大小的宏)的小结
- 【转】关于EASYSIZE宏(动态调整控件位置、大小的宏)的小结
- 【转】关于EASYSIZE宏(动态调整控件位置、大小的宏)的小结
- 【转】关于EASYSIZE宏(动态调整控件位置、大小的宏)的小结
- MFC 窗口最大化和最小化,全局变量的使用、static居中显示、static的背景色设置为透明、根据屏幕自适应调整界面大小
- EasySize动态调整对话框控件位置和大小
- EasySize使用笔记(对话框中的控件随着对话框大小的变化进行自动调整)
- MFC界面自适应缩放
- 利用predis操作redis方法大全
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- UITextView自适应高度
- IT企业专利工程师之三:计算机技术领域专利挖掘刍议
- 习题3—17
- MFC 界面部件大小位置自适应 EasySize的使用
- Android相关书签
- nodejs读取url中格式为数组的参数
- 第三章第10题
- A/B表替1对多关系,要求联合查询B表只提取一条与A记录关联的记录
- nyoj257郁闷的c小加(一)(栈和队列)
- UVA11806容斥原理,位运算排列,递推组合数
- <ARM嵌入式开发学习>我的第一个驱动程序-hello world
- Python中关于with open file as 的用法