码迷,mamicode.com
首页 > 其他好文 > 详细

Duilib源码分析(五)UI布局—Layout

时间:2015-12-14 22:53:47      阅读:772      评论:0      收藏:0      [点我收藏+]

标签:

  接下来,继续分析duilib之UI布局Layout,目前提供的布局有:VerticalLayout、HorizontalLayout、TileLayout、TabLayout、ChildLayout分别为垂直布局、水平布局、平铺布局、TAB布局、子窗体布局;

  一般项目中用得比较多的是垂直布局、水平布局,我们将分别分析各布局;

  VerticalLayout:垂直布局,继承于CContainerUI容器UI类;而CContainerUI也继承于CControlUI,故VerticalLayout实际上也是一种UI控件;

    成员函数:

    GetClass:获取类名称(VerticalLayoutUI);

    GetInterface:获取类名下的类对象;

    GetControlFlags:获取控件标记;

    SetSepHeight/GetSepHeight:设置/获取分割符高度;

    SetSepImmMode/IsSepImmMode:设置/获取当前拖动分隔符时,是否立即改变大小;

    SetAttribute:设置指定名称的属性值;

    DoEvent:事件处理函数(主要处理鼠标事件的操作);

    SetPos:设置位置,调整控件位置以及滚动条;

    DoPostPaint:绘制事件,用以绘制容器分割区域颜色为0xAA000000;

    GetThumbRect:获取分割区域;

    成员变量:

    m_iSepHeight:分隔符高度;

    m_uButtonState:按钮(控件)状态;

    ptLastMouse:鼠标最近一次所在位置;

    m_rcNewPos:控件区域位置;

    m_bImmMode:是否为立即模式(立即改变大小);

    

    

Duilib源码分析(五)UI布局—Layout

标签:

原文地址:http://www.cnblogs.com/haomiao/p/5046578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!