EasySize

来源:互联网 发布:creis中指数据 账号 编辑:程序博客网 时间:2024/05/01 23:12

EasySize是VC中用于排版控件的非常实用的东东.对于初学者来说, 使用起来非常难以理解, 更别提弄出理想的效果.

在这里, 我想说一下如何使用. 这里主要是说怎么使用EASYSIZE宏的.

BEGIN_EASYSIZE_MAP(which_dialog)
   EASYSIZE( control_id,left,top,right,bottom,option)
END_EASYSIZE_MAP

如上, which_dialog标明了是哪个对话框将使用EasySize.

control_id, 即是控件ID, left, top, right, bottom为各个方向的属性, option一般是用来设置居中对齐的.

先说left等方向的属性, 一般可设:

ES_BORDER,      这个是chich_dialog的边框

ES_KEEPSIZE,    保持大小

control_id           某个控件的ID

比如: EASYSIZE(IDC_TITLE,ES_BORDER,ES_BORDER,ES_BORDER,ES_KEEPSIZE,ES_HCENTER)

两个红色的, 是左和右, 两个蓝色的是上和下, 绿色的是对齐方式.

上面这个则表示, 控件ID为IDC_TITLE的控件, 左和右与对话框边框保持距离, 红色部分.

上方是ES_BORDER, 表示与上边框保持距离.

下方是ES_KEEPSIZE, 表示该控件不会随着对话框窗体的拉伸也改变下方的大小(不会被拉伸).

option中ES_HCENTER, 表示水平居中, 注意, 是水平居中, 这是表示该控件会出现在left和right的正中间,

看红色部分, 两个红色都是边框, 所以该控件会显示在窗体的正中间(水平方向). 如果有控件的话, 如:

EASYSIZE(IDC_TITLE,IDC_STATIC_XES_BORDER,,ES_BORDER,ES_KEEPSIZE,ES_HCENTER)

则IDC_TITLE所在的位置就会是IDC_STATIC_X和右边框的中间位置.

option是可以设置为0的, 表示没有其它的选项.

设置控件的ID, 一般表示是某一边与某一控件对齐(保持距离), 如

EASYSIZE(IDC_MYICON2,ES_BORDER,ES_BORDER,IDC_TITLE,ES_KEEPSIZE,ES_HCENTER)

我们看红色部分, 它是一个控件ID, 表示上(top)与控件ID为IDC_TITLE的控件对齐(保持距离).

其他的设置是一样的.

最后要说一点是, 也是非常非常重要的, 当初被害得不浅, 就是设置的时候是有先后顺序的..

所以如果顺序设得不对, 产生的布局是有天壤之别的.


http://www.cnblogs.com/lin1270/archive/2010/12/08/1900363.html