属性
一、主窗口属性(XML中标签'Window')
size   窗口的大小
sizebox   
caption   标题栏的宽度高度
roundcorner  窗口的圆角矩形的半径
mininfo
showdirty  是否用矩形框标示需要重画的区域
二、公共属性('Window'标签和第一个容器标签间的内容)
Image   图片的来源以及图片文件的名称,一般是用于html方式文字的标签{i}
Font   字体配置方案,对应CLabelUI的font属性
Default   指定Button、VScrollBar、HScrollBar的几种状态图片属性
三、控件(容器)属性
CControlUI
1    float  和pos组合使用,根据所处容器窗口坐标计算其窗口坐标。如果不指定此属性则背景图片会拉伸到整个容器,文字会水平居左垂直居中显示
2    pos  同上
3    padding  控件文字显示位置缩进距离
4    bkcolor  第一种背景颜,如果指定第二种背景颜则背景为垂直方向的渐变
5    bkcolor2  第二种背景颜
6    bordercolor 边框线颜
7    bordersize  边框线尺寸
8    bkimage  背景图片
9    width 
10    height
11    minwidth
12    minheight
13    maxwidth
14    maxheight
15    name  控件标识,在同一窗口内具有唯一性
16    text  显示文字
17    tooltip  tip信息
18    userdata  扩展用户数据
19    enabled  是否激活
20    mouse  是否响应鼠标消息,如果为false则由其最近的左兄弟或父亲结点处理
21    visible  是否可见
22    shortcut
23    relativepos 子控件(容器)相对于父控件(容器)的客户区坐标
CContainerUI -> CControlUI
1    inset  容器内的控件的可显示区域要上下左右各缩进多少;如果容器嵌套容器则用于指定子容器相对父容器的偏移
2    mousechild 
3    vscrollbar  垂直滚动条的几种状态图片属性
4    hscrollbar  水平滚动条的几种状态图片属性
5    childpadding
CHorizontalLayoutUI -> CContainerUI
1    sepwidth
2    sepimm
CTileLayoutUI -> CContainerUI
1    columns  容器内控件按几列显示,会自动根据列数计算行数
   
CLabelUI -> CControlUI
1    align  文字对齐方式
2    font  文字字体属性
3    textcolor  文字颜
4    disabledtextcolor 非激活状态下文字颜
5    textpadding 
6    showhtml  html方式显示文字,可参考DrawHtmlText函数说明
7    fitallArea  状态图片是否需要填充整个区域,false可以用来画checkbox & radio box
8    tipimage  tip的背景图片
CButtonUI -> CLabelUI -> CControlUI
1    normalimage 正常状态图片
2    hotimage  高亮状态图片
3    pushedimage 按下状态图片
4    focusedimage 获得焦点状态图片
5    disabledimage 非激活状态图片
6    disabled
COptionUI -> CButtonUI -> CLabelUI -> CControlUI
1    group  为true则表示是多个option组合使用,且所有option必须包含在容器内。
2    selected  初始状态为选中,如果指定了group属性则当前选中项只有一个,而且属性字符中group要位于selected前面。
3    selectedimage 选中状态图片
4    foreimage  checkbox或radio box选中时前景小图片
5    selectedtextcolor 文字颜
CTextUI -> CLabelUI -> CControlUI
CProgressUI -> CLabelUI -> CControlUI
1    fgimage  前景进度条图片,一般是根据百分比做拉伸处理
2    hor  为true则水平显示
3    min  最小值
4    max  最大值
5    value  当前值
CSliderUI -> CProgressUI -> CLabelUI -> CControlUI
1    thumbimage  滑标正常状态图片
2    thumbhotimage 滑标高亮状态图片
3    thumbpushedimage 滑标按下状态图片
4    thumbsize  滑标大小
注:如果需要实现带轨道的滑动条控制,则需要指定父类CControlUI的bkimage属性;如果要实现计数,则需要指定父类CProgressUI的min/max/value属性
CEditUI -> CLabelUI
1    readonly  只读属性
2    password  密文"*"显示方式
3    normalimage 正常状态图片
4    hotimage  高亮状态图片
5    focusedimage 获得焦点状态图片
6    disabledimage 非激活状态图片
7    multiline  多行属性
8    maxchar  是大可输入字符数
   
CComboUI -> CContainerUI -> CControlUI
1    textpadding
2    normalimage
3    hotimage
4    pushedimage
5    focusedimage
6    disabledimage
7    itemfont
8    itemalign
9    itemtextpadding
10    itemtextcolor
11    itembkcolor
12    itemimage
13    itemselectedtextcolor
14    itemselectedbkcolor
15    itemselectedimage
16    itemhottextcolor
17    itemhotbkcolor
18    itemhotimage
19    itemdisabledtextcolor
20    itemdisabledbkcolor
21    itemdisabledimage
22    itemlinecolor
23    itemshowhtml
CScrollbarUI -> CControlUI
1    button1normalimage
2    button1hotimage
3    button1pushedimage
4    button1disabledimage
5    button2normalimage
6    button2hotimage
7    button2pushedimage
8    button2disabledimage
9    thumbnormalimage
10    thumbhotimage
11    thumbpushedimage
12    thumbdisabledimage
activex 控件13    railnormalimage
14    railhotimage
15    railpushedimage
16    raildisabledimage
17    bknormalimage
18    bkhotimage
19    bkpushedimage
20    bkdisabledimage
21    hor
22    linesize
23    range
24    value
CListUI -> CVerticalLayoutUI -> CContainerUI
1    header
2    headerbkimage
3    expanding
4    multiexpanding
5    itemfont
6    itemalign
7    itemtextpadding
8    itemtextcolor
9    itembkcolor
10    itemimage
11    itemselectedtextcolor
12    itemselectedbkcolor
13    itemselectedimage
14    itemhottextcolor
15    itemhotbkcolor
16    itemhotimage
17    itemdisabledtextcolor
18    itemdisabledbkcolor
19    itemdisabledimage
20    itemlinecolor
21    itemshowhtml
CListHeaderItemUI -> CControlUI
1    dragable
2    sepwidth
3    align
4    font
5    textcolor
6    showhtml
7    normalimage
8    hotimage
9    pushedimage
10    focusedimage
11    sepimage
CListElementUI -> CControlUI
1    selected
CListExpandElementUI -> CListTextElementUI -> CListLabelElementUI -> CListElementUI -> CControlUI
1    expander
2    hideself
CListContainerElementUI -> CContainerUI
1    selected
DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的
形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vista、Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播放器,即时通讯工具MSN Messager等。
DirectUI好处在于可以很方便的构建高效、绚丽的、非常易于扩展的界面。国外如微软,国内如腾讯、百度等公司的客户端产品多采用这种方式来组织界面,从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换、换肤、透明等。
DirectUI可以理解为一个轻量级的WPF,可以让C++做出C#般绚丽的界面。目前国内做DirectUI皮肤库的公司主要有两家:第一家是UIPower(即Skin++的公司),网址www.uipower,其DirectUI产品网站www.directui,做的很专业;另一家是UIEASY,网址www.uieasy,一个轻量级皮肤库DSkinLite。但是,网上关于DirectUI的技术文章却很少;早在 6/26/2005,一个国外的程序员就已经写了一个开源的DirectUI例子,应该算是国内所有directui界面库的起源了,网址www.viksoe.dk/code/windowless1.htm,探讨一种实现的可能性和思路,和实际应用虽有一定距离,不过却是一个很好的学习资料。再后来,一个国内的程序员“当个傻瓜蛋”,基
于此代码,进行重构和修正Bug,并放到了google上开源,网址le/p/duilib/,下载地址svn checkout lecode/svn/trunk/ duilib-read-only。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。