EasySize - Dialog resizing in no time!
效果图:
Introduction
你曾今是否对花很多时间在基础 GUI上而不是关注确实的内容感到恼火?就拿一个可变的对话框或属性页来说吧,你必须对它上面每一个控件去code,告诉当某些控件大小发生改变时,他们应该如何去改变。现在我知道我不是第一个对可变对话框(ResizableDialog)给出解决策的人,但是本文是我一个方法。
Description基本上来说,所有你想要设计的对话框可以通过资源编辑器(不要忘记对话框属性设置大小可变)来实现, 然后你可以通过定义一个简单的宏来实现当对话框大小改变时去定义控件的动作。
Usage注意:对于对话框和属性页来说,所有的处理都是一样的1.#include
EasySize.h在stdafx.h
2.在你的定义类的任何地方,添加DECLARE_EASYSIZE
:
EASYSIZE(control,left,top,right,bottom,options)
control
是控件ID;left, top, right and bottom
可以是对话框中的控件也可以是ES_BORDER
和ES_KEEPSIZE
;
ES_BORDER
说明:该控件到对话框边界距离不变;
ES_KEEPSIZE
说明:该控件的宽或者高不变;
注意:left and right不能同时为
ES_KEEPSIZE
,top
and bottom
也不能同时为ES_KEEPSIZE
。
options
可以是ES_HCENTER
,ES_VCENTER
and 0;
0指不做任何处理
ES_HCENTER
指left和right之间水平居中
ES_VCENTER
指top和bottom之间垂直居中
EasySize.h(EASY-SIZE Macros)下载地址:http://download.csdn.net/detail/chenjintaoxp/4573851
文章代码easysize_demo.zip下载地址:http://download.csdn.net/detail/chenjintaoxp/4573855
原文翻译:http://www.codeproject.com/Articles/1657/EasySize-Dialog-resizing-in-no-time