我这里是借用网友colin3dmax整理的关于duilib的分析哈,感谢他的分享,我觉得很有必要贴出来让大家都学习观摩下

DUILibxml配置项
根节点        子类      属性                            类型
Window                                                         
    |--------Image      图片信息
    |            o------name                            string
    |            o------restype                         string
    |            o------mask                            unsigned long#
    |
    |--------Font            字体信息
    |            o------name                            string
    |            o------size                            long
    |            o------bold                            bool
    |            o------underline                       bool
    |            o------default                         bool
    |
    |--------Default    默认Attribute属性
                 o------name                            string
                 o------value                           string
    
root(Window属性)
    o--size              窗体初始化大小                 SIZE(int cx, int cy)
    o--sizebox           窗体区域                       RECT(long left, long top, long right,long bottom)
    o--caption           窗体标题栏区域                 RECT(long left, long top, long right,long bottom)
    o--roundcorner       圆角大小                       SIZE(int cx, int cy)
    o--mininfo           窗体最小大小                   SIZE(int cx, int cy)
    o--maxinfo           窗体最大大小                   SIZE(int cx, int cy)
    o--showdirty         窗体显示                       bool [true|false]
    o--alpha             窗体透明度                     int
    o--bktrans           背景是否支持透明               bool [true|false]
    o--disabledfontcolor 无效字体颜色                   string  #RRGGBBAA
    o--defaultfontcolor  默认字体颜色                   string     #RRGGBBAA
    o--linkfontcolor     链接正常字体色                 string     #RRGGBBAA
    o--linkhoverfontcolor链接悬停字体色                 string     #RRGGBBAA
    o--selectedcolor     字体被选后颜色                 string     #RRGGBBAA
    
公共资源
Image
    |------o file/res                                   string
    |------o restype                                    string
    |------o dest                                       RECT(long left, long top, long right,long bottom)
    |------o source                                     RECT(long left, long top, long right,long bottom)
    |------o corner                                     RECT(long left, long top, long right,long bottom)
    |------o mask                                       string #FFFFFFFF
    |------o fade                                       byte
    |------o hole                                       bool [true|false]
    |------o xtiled                                     bool [true|false]
    |------o ytiled                                     bool [true|false]
使用说明:
    // 1、aaa.jpg
    // 2、file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' 
    // mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false'

Font
Default

控件Control

控件名称                                类

控件基类
Control                             CControlUI   
    |------o pos                                        RECT(long left, long top, long right,long bottom)
    |------o relativepos                                (int nMoveXPercent, int nMoveYPercent,int nZoomXPercent,int nZoomYPercent)
    |------o padding                                    RECT(long left, long top, long right,long bottom)
    |------o bkcolor/bkcolor1                           string #RRGGBBAA
    |------o bkcolor2                                   string #RRGGBBAA
    |------o bkcolor3                                   string #RRGGBBAA
    |------o bordercolor                                string #RRGGBBAA
    |------o focusbordercolor                           string #RRGGBBAA
    |------o bordersize                                 int 
    |------o borderround                                SIZE(int x, int y)
    |------o bkimage                                    Image 属性
    |------o width                                      int
    |------o height                                     int
    |------o minwidth                                   int
    |------o minheight                                  int
    |------o maxwidth                                   int
    |------o maxheight                                  int
    |------o name                                       string
    |------o text                                       string
    |------o tooltip                                    string
    |------o userdata                                   string
    |------o enabled                                    bool [true|false]
    |------o mouse                                      bool [true|false]
    |------o visible                                    bool [true|false]
    |------o float                                      bool [true|false]
    |------o shortcut                                   TCHAR
    |------o menu                                       bool [true|false]
    
    
    
容器
Container                            CContainerUI
    |------o inset                                      RECT(long left, long top, long right,long bottom)
    |------o mousechild                                 bool [true|false]
    |------o vscrollbar                                 bool [true|false]
    |------o hscrollbar                                 bool [true|false]
    |------o childpadding                               int
    
布局管理器
VerticalLayout                      CVerticalLayoutUI : public  CContainerUI
    |------o sepheight                                  int
    |------o sepimm                                     bool [true|false]
    |------o CContainerUI::SetAttribute(pstrName, pstrValue)
    
HorizontalLayout                    CHorizontalLayoutUI : public  CContainerUI
    |------o sepwidth                                   int
    |------o sepimm                                     bool [true|false]
    |------o CContainerUI::SetAttribute(pstrName, pstrValue)

DialogLayout                        CDialogLayoutUI : public  CContainerUI
    |------o CContainerUI::SetAttribute(pstrName, pstrValue)
    
TileLayout                          CTitleLayoutUI : public  CContainerUI
    |------o columns                                    int
    |------o CContainerUI::SetAttribute(pstrName, pstrValue)
    
TabLayout                           CTabLayoutUI : public CContainerUI
    |------o selectedid                                 int
    |------o CContainerUI::SetAttribute(pstrName, pstrValue)

Edit                                CEditUI : public CLabelUI
    |------o readonly                                   bool [true|false]
    |------o password                                   bool [true|false]
    |------o maxchar                                    int
    |------o normalimage                                Image 属性
    |------o hotimage                                   Image 属性
    |------o focusedimage                               Image 属性
    |------o disabledimage                              Image 属性
    |------o nativebkcolor                              string #RRGGBBAA
    |------o CLabelUI::SetAttribute(pstrName, pstrValue)

List                                CListUI : public CVerticalLayoutUI, public IListUI
    |------o header                                     string bool [hidden|Show]
    |------o headerbkimage                              string path
    |------o scrollselect                               bool [true|false]
    |------o multiexpanding                             bool [true|false]
    |------o itemfont                                   int     Font列表的索引号
    |------o itemalign                                  string enum [left|center|right]
    |------o itemendellipsis                            bool [true|false]
    |------o itemtextpadding                            RECT(long left, long top, long right,long bottom)
    |------o itemtextcolor                              string #RRGGBBAA
    |------o itembkcolor                                string #RRGGBBAA
    |------o itemimage                                  string path
    |------o itemselectedtextcolor                      string #RRGGBBAA
    |------o itemselectedbkcolor                        string #RRGGBBAA
    |------o itemselectedimage                          string path
    |------o itemhottextcolor                           string #RRGGBBAA
    |------o itemhotbkcolor                             string #RRGGBBAA
    |------o itemhotimage                               Image 属性
    |            |------o file                          string path
    |            |------o corner                        RECT(long left, long top, long right,long bottom)
    |------o itemdisabledtextcolor                      string #RRGGBBAA
    |------o itemdisabledbkcolor                        string #RRGGBBAA
    |------o itemdisabledimage                          Image 属性
    |------o itemlinecolor                              string #RRGGBBAA
    |------o itemshowhtml                               bool [true|false]
    |------o CVerticalLayoutUI::SetAttribute(pstrName, pstrValue)
    
ListHeaderItem                      CListHeaderItemUI : public CControlUI
    |------o dragable                                   bool [true|false]
    |------o sepwidth                                   int
    |------o align                                      string enum [left|center|right]
    |------o itemshowhtml                               bool [true|false]
    |------o endellipsis                                bool [true|false]
    |------o font                                       int     Font列表的索引号
    |------o textcolor                                  string #RRGGBBAA
    |------o textpadding                                RECT(long left, long top, long right,long bottom)
    |------o showhtml                                   bool [true|false]
    |------o normalimage                                Image 属性
    |------o hotimage                                   Image 属性
    |------o pushedimage                                Image 属性
    |------o focusedimage                               Image 属性
    |------o sepimage                                   Image 属性
    
CListElementUI : public CControlUI, public IListItemUI
    |------o selected                                   value 有此属性就选中 
    |------o CControlUI::SetAttribute(pstrName, pstrValue)  
    
ListExpandElement                   CListExpandElementUI : public CListTextElementUI    
    |------o expander                                   RECT(long left, long top, long right,long bottom)
    |------o hideself                                   bool [true|false]
    |------o selected                                   bool
    |------o CListTextElementUI::SetAttribute(pstrName, pstrValue)
    
ListContainerElement                CListContainerElementUI            List容器
    |------o selected                                   value 有此属性就选中
    
ListHeader                          CListHeaderUI

CListLabelElementUI : public CListElementUI

ListTextElement                     CListTextElementUI : public CListLabelElementUI

Label                               CLabelUI : public  CControlUI
    |------o align                                      string enum [left|center|right]
    |------o endellipsis                                bool [true|false]
    |------o font                                       int     Font列表的索引号
    |------o textcolor                                  string #RRGGBBAA
    |------o disabledtextcolor                          string #RRGGBBAA
    |------o textpadding                                RECT(long left, long top, long right,long bottom)
    |------o showhtml                                   bool [true|false]
    |------o CControlUI::SetAttribute( pstrName, pstrValue )
    
    
Text                                CTextUI : public  CLabelUI

Combo                               CComboUI : public CContainerUI, public IListOwnerUI
    |------o textpadding                                RECT(long left, long top, long right,long bottom)
    |------o normalimage                                Image 属性
    |------o hotimage                                   Image 属性
    |------o pushedimage                                Image 属性
    |------o focusedimage                               Image 属性
    |------o disabledimage                              Image 属性
    |------o dropbox                                    string 
    |------o itemfont                                   int     Font列表的索引号
    |------o itemalign                                  string enum [left|center|right]
    |------o itemtextpadding                            RECT(long left, long top, long right,long bottom)
    |------o itemtextcolor                              string #RRGGBBAA
    |------o itembkcolor                                string #RRGGBBAA
    |------o itemimage                                  Image 属性
    |------o itemselectedtextcolor                      string #RRGGBBAA
    |------o itemselectedimage                          Image 属性
    |------o itemhottextcolor                           string #RRGGBBAA
    |------o itemhotbkcolor                             string #RRGGBBAA
    |------o itemhotimage                               Image 属性
    |------o itemdisabledtextcolor                      string #RRGGBBAA
    |------o itemdisabledbkcolor                        string #RRGGBBAA
    |------o itemdisabledimage                          Image 属性
    |------o itemlinecolor                              string #RRGGBBAA
    |------o itemshowhtml                               bool [true|false]
    |------o CContainerUI::SetAttribute(pstrName, pstrValue)

Button                              CButtonUI : public CLabelUI
    |------o normalimage                                Image 属性
    |------o hotimage                                   Image 属性
    |------o pushedimage                                Image 属性
    |------o focusedimage                               Image 属性
    |------o disabledimage                              Image 属性
    |------o hottextcolor                               string #RRGGBBAA
    |------o pushedtextcolor                            string #RRGGBBAA
    |------o focusedtextcolor                           string #RRGGBBAA
    |------o CLabelUI::SetAttribute(pstrName, pstrValue)
    
Option                              COptionUI : public CButtonUI
    |------o group                                      string
    |------o selected                                   bool [true|false]
    |------o selectedimage                              Image 属性
    |------o foreimage                                  Image 属性
    |------o selectedtextcolor                          string #RRGGBBAA
    |------o CButtonUI::SetAttribute(pstrName, pstrValue)

Progress                            CProgressUI : public  CLabelUI
    |------o fgimage                                    Image 属性
    |------o hor                                        bool
    |------o min                                        int
    |------o max                                        int
    |------o value                                      int
    |------o CLabelUI::SetAttribute(pstrName, pstrValue)
    
Slider                              CSliderUI : public  CProgressUI
    |------o thumbimage                                 Image 属性
    |------o thumbhotimage                              Image 属性
    |------o thumbpushedimage                           Image 属性
    |------o thumbsize                                  SIZE(int x, int y)
    |------o step                                       int
    |------o CProgressUI::SetAttribute(pstrName, pstrValue)    
    
RichEdit                            CRichEditUI : public CContainerUI, public IMessageFilterUI
    |------o vscrollbar                                 bool [true|false]
    |------o autovscroll                                bool [true|false]
    |------o hscrollbar                                 bool [true|false]
    |------o autohscroll                                bool [true|false]
    |------o wanttab                                    bool [true|false]
    |------o wantreturn                                 bool [true|false]
    |------o wantctrlreturn                             bool [true|false]
    |------o rich                                       bool [true|false]
    |------o multiline                                  bool [false|true]
    |------o readonly                                   bool [true|false]
    |------o numberonly                                 bool [true|false]
    |------o password                                   bool [true|false]
    |------o align                                      string enum [left|center|right]
    |------o font                                       int     Font列表的索引号
    |------o textcolor                                  string #RRGGBBAA
    |------o CContainerUI::SetAttribute(pstrName, pstrValue)

ActiveX                             CActiveXUI : public  CControlUI
    |------o clsid                                      string
    |------o modulename                                 string
    |------o delaycreate                                bool [true|false]
    |------o CControlUI::SetAttribute(pstrName, pstrValue)

ScrollBar                           CScrollBarUI : public CControlUI
    |------o button1normalimage                         Image 属性
    |------o button1hotimage                            Image 属性
    |------o button1pushedimage                         Image 属性
    |------o button1disabledimage                       Image 属性
    |------o button2normalimage                         Image 属性
    |------o button2hotimage                            Image 属性
    |------o button2pushedimage                         Image 属性
    |------o button2disabledimage                       Image 属性
    |------o thumbnormalimage                           Image 属性
    |------o thumbhotimage                              Image 属性
    |------o thumbpushedimage                           Image 属性
    |------o thumbdisabledimage                         Image 属性
    |------o railnormalimage                            Image 属性
    |------o railhotimage                               Image 属性
    |------o railpushedimage                            Image 属性
    |------o raildisabledimage                          Image 属性
    |------o bknormalimage                              Image 属性
    |------o bkhotimage                                 Image 属性
    |------o bkpushedimage                              Image 属性
    |------o bkdisabledimage                            Image 属性
    |------o hor                                        bool [true|false]
    |------o linesize                                   int
    |------o range                                      int
    |------o value                                      int
    |------o showbutton1                                bool [true|false]
    |------o showbutton2                                bool [true|false]
    |------o CControlUI::SetAttribute(pstrName, pstrValue)

控件的通用属性
stretch        STRETCHMODE
    o--------move_x
    o--------move_y
    o--------move_xy
    o--------size_x
    o--------size_y
    o--------size_xy
    o--------group
    o--------line
    
    
考虑到在xml编辑器中使用<>符号不方便,可以使用{}符号代替
支持标签嵌套(如<l><b>text</b></l>),但是交叉嵌套是应该避免的(如<l><b>text</l></b>)
The string formatter supports a kind of "mini-html" that consists of various short tags:

Bold:             <b>text</b>
  Color:            <c #xxxxxx>text</c>  where x = RGB in hex
  Font:             <f x>text</f>        where x = font id
  Italic:           <i>text</i>
  Image:            <i x y z>            where x = image name and y = imagelist num and z(optional) = imagelist id
  Link:             <a x>text</a>        where x(optional) = link content, normal like app:notepad or http:www.xxx.com
  NewLine           <n>                  
  Paragraph:        <p x>text</p>        where x = extra pixels indent in p
  Raw Text:         <r>text</r>
  Selected:         <s>text</s>
  Underline:        <u>text</u>
  X Indent:         <x i>                where i = hor indent in pixels
  Y Indent:         <y i>                where i = ver indent in pixels 
————————————————————————————————————————————————————
对DUiLib的理解可能有偏差,发现错误之处希望及时纠正

duilib库分析3.DUILibxml配置的更多相关文章

  1. duilib库分析2.第一篇UIManager

    DUiLib 源码分析 ——以UiLib 1.01版为分析目标--------------------------------------------------------------------- ...

  2. duilib库分析4.第二篇UIBase

    DUiLib 源码分析 ——以UiLib 1.01版为分析目标 ——colin3dmax 分析于2011-6-16 19:44------------------------------------- ...

  3. duilib库分析: 消息流程分析

      转 看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧. 1. 先看下CPaintManagerUI类的MessageLoop函数: void CPaintManag ...

  4. duilib库分析1.消息流程分析

    看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧. 1. 先看下CPaintManagerUI类的MessageLoop函数: void CPaintManagerUI ...

  5. DuiLib逆向分析の按钮事件定位

    目录 DuiLib逆向分析の按钮事件定位 0x00 前言 DuiLib介绍 DuiLib安装 DuiLib Hello,World! Duilib逆向分析之定位按钮事件 碎碎念 第一步:获取xml布局 ...

  6. 日志分析工具ELK配置详解

    日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...

  7. Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)

    本文转自:自己的微信公众号<集成电路设计及EDA教程> <Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)>   轻轻走过,悄悄看过,无 ...

  8. MyCat源码分析系列之——配置信息和启动流程

    更多MyCat源码分析,请戳MyCat源码分析系列 MyCat配置信息 除了一些默认的配置参数,大多数的MyCat配置信息是通过读取若干.xml/.properties文件获取的,主要包括: 1)se ...

  9. 如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)

    关于duilib的历史,我也就不多说了,能看到这篇文章的人都是有一定了解才能找到这个的. 我直接说下对这个库的基本使用吧. 我个人对一些好技术都是比较感兴趣的. 因为个人原因 喜欢接触一个好技术. 所 ...

随机推荐

  1. 《代码大全2》读书笔记 Week3

    <代码大全2>第六.七章 作者在第六章中从抽象数据类型(Abstract Data Type)出发阐释类(class)的概念,给出创建类的原因以及创建高质量的常涉及的设计问题.抽象数据类型 ...

  2. thinkphp5.1、thinkphp6

    下载原装:https://packagist.org/packages/topthink/think composer create-project topthink/think tp 6.0.*-d ...

  3. 如何实现qq消息轰炸

    1.新建一个文本文档复制以下代码 Set WshShell = WScript.CreateObject("Wscript.Shell")WshShell.AppActivate& ...

  4. WordTEX

    https://www.andrew.cmu.edu/user/twildenh/wordtex/

  5. thrift 的一些相关知识

    thrift是一个很好用的跨语言的rpc框架. 但是其也有一些需要注意的问题: 第一: 发现其对于类型检查没有那么严格:    最近工作中发现是可以把一个int类型直接付给string,而没有任何wa ...

  6. leetcood学习笔记-108-将有序数组转换为二叉搜索树

    ---恢复内容开始--- 题目描述: 方法一: class Solution(object): def sortedArrayToBST(self, nums): """ ...

  7. Batch - windows batch 常用命令(cheat sheet)

    原文地址:https://www.oschina.net/code/snippet_158297_4964 1 echo 和 @ 回显命令 @ #关闭单行回显 echo off #从下一行开始关闭回显 ...

  8. 【JZOJ3292】【BZOJ4415】【luoguP3988】发牌

    description 在一些扑克游戏里,如德州扑克,发牌是有讲究的.一般称呼专业的发牌手为荷官.荷官在发牌前,先要销牌(burn card).所谓销牌,就是把当前在牌库顶的那一张牌移动到牌库底,它用 ...

  9. 【JZOJ6409】困难的图论

    description 给定由 n 个点 m 条边组成的无向连通图,保证没有重边和自环. 你需要找出所有边,满足这些边恰好存在于一个简单环中.一个环被称为简单环,当且仅当它包含的所有点都只在这个环中被 ...

  10. 【锁】Innodb锁

    InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁.行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题.下面我们先介绍一点背景知识 ...