EasySize用法(转载)

  1. stdafx.h中引用EasySize.h头文件(同时将EasySize.h放到你的程序目录中)

  2. 在类定义中添加DECLARE_EASYSIZE

  3. class CEasySizeDemoDlg : public CDialog
    {
    
    DECLARE_EASYSIZE
    .....
    
    };
  4. 增加OnInitDialog处理函数,将INIT_EASYSIZE放到函数尾处。

  5. BOOL CEasySizeDemoDlg::OnInitDialog()
    {
        ....
     INIT_EASYSIZE;
    }
  6. 增加OnSize函数,添加宏UPDATE_EASYSIZE

  7. void CEasySizeDemoDlg::OnSize(UINT nType, int cx, int cy) 
    {
     CDialog::OnSize(nType, cx, cy);
     UPDATE_EASYSIZE;
    
    }
  8. 创建EasySize映射(map),在此map里,你可以制定每个对话框的行为。

BEGIN_EASYSIZE_MAP(CEasySizeDemoDlg)

 EASYSIZE(IDC_TAB1, ES_BORDER, ES_BORDER, ES_BORDER, ES_BORDER, 0);

END_EASYSIZE_MAP
  1. 通过在EasySize Map中使用EASYSIZE宏来指定当对话框改变时control相应的行为,宏定义格式如下:

    EASYSIZE(control,left,top,right,bottom,options)

    参数1(Control):需要重新定位的control ID.

    参数2、3、4、5(left, top, right and bottom ):这四个参数可以设定的值有其它控件的ID、特定的值如如ES_BORDER、ES_KEEPSIZE。

     

    ES_BORDER :代表控件与边框的距离保持不变。

    ES_KEEPSIZE:代表控件的宽度和高度保持不变,left/right只能设置其中一个为ES_KEEPSIZE,同理,top/bottom亦然。

     

    参数6(options):ES_HCENTER, ES_VCENTER and 0的组合。

    ES_HCENTER :代表控件在left/right之间水平居中,此时这两个参数都不能设置为ES_KEEPSIZE,控件的宽度保持不变。

    ES_VCENTER 同理(垂直方向)。

你可能感兴趣的:(easysize)