属性
一、主窗口属性(XML中标签'Window')
size 窗口的大小
sizebox
caption 标题栏的宽度高度
roundcorner 窗口的圆角矩形的半径
mininfo
showdirty 是否用矩形框标示需要重画的区域
一、主窗口属性(XML中标签'Window')
size 窗口的大小
sizebox
caption 标题栏的宽度高度
roundcorner 窗口的圆角矩形的半径
mininfo
showdirty 是否用矩形框标示需要重画的区域
二、公共属性('Window'标签和第一个容器标签间的内容)
Image 图片的来源以及图片文件的名称,一般是用于html方式文字的标签{i}
Font 字体配置方案,对应CLabelUI的font属性
Default 指定Button、VScrollBar、HScrollBar的几种状态图片属性
Image 图片的来源以及图片文件的名称,一般是用于html方式文字的标签{i}
Font 字体配置方案,对应CLabelUI的font属性
Default 指定Button、VScrollBar、HScrollBar的几种状态图片属性
三、控件(容器)属性
CControlUI
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
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 子控件(容器)相对于父控件(容器)的客户区坐标
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 水平滚动条的几种状态图片属性
1 inset 容器内的控件的可显示区域要上下左右各缩进多少;如果容器嵌套容器则用于指定子容器相对父容器的偏移
2 mousechild
3 vscrollbar 垂直滚动条的几种状态图片属性
4 hscrollbar 水平滚动条的几种状态图片属性
5 childpadding
CHorizontalLayoutUI -> CContainerUI
1 sepwidth
2 sepimm
1 sepwidth
2 sepimm
CTileLayoutUI -> CContainerUI
1 columns 容器内控件按几列显示,会自动根据列数计算行数
CLabelUI -> CControlUI
1 align 文字对齐方式
2 font 文字字体属性
3 textcolor 文字颜
4 disabledtextcolor 非激活状态下文字颜
5 textpadding
6 showhtml html方式显示文字,可参考DrawHtmlText函数说明
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的背景图片
8 tipimage tip的背景图片
CButtonUI -> CLabelUI -> CControlUI
1 normalimage 正常状态图片
2 hotimage 高亮状态图片
3 pushedimage 按下状态图片
4 focusedimage 获得焦点状态图片
5 disabledimage 非激活状态图片
6 disabled
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 选中状态图片
1 group 为true则表示是多个option组合使用,且所有option必须包含在容器内。
2 selected 初始状态为选中,如果指定了group属性则当前选中项只有一个,而且属性字符中group要位于selected前面。
3 selectedimage 选中状态图片
4 foreimage checkbox或radio box选中时前景小图片
5 selectedtextcolor 文字颜
5 selectedtextcolor 文字颜
CTextUI -> CLabelUI -> CControlUI
CProgressUI -> CLabelUI -> CControlUI
1 fgimage 前景进度条图片,一般是根据百分比做拉伸处理
2 hor 为true则水平显示
3 min 最小值
4 max 最大值
5 value 当前值
1 fgimage 前景进度条图片,一般是根据百分比做拉伸处理
2 hor 为true则水平显示
3 min 最小值
4 max 最大值
5 value 当前值
CSliderUI -> CProgressUI -> CLabelUI -> CControlUI
1 thumbimage 滑标正常状态图片
2 thumbhotimage 滑标高亮状态图片
3 thumbpushedimage 滑标按下状态图片
4 thumbsize 滑标大小
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
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
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
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
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
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
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
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
1 dragable
2 sepwidth
3 align
4 font
5 textcolor
6 showhtml
7 normalimage
8 hotimage
9 pushedimage
10 focusedimage
11 sepimage
9 pushedimage
10 focusedimage
11 sepimage
CListElementUI -> CControlUI
1 selected
1 selected
CListExpandElementUI -> CListTextElementUI -> CListLabelElementUI -> CListElementUI -> CControlUI
1 expander
2 hideself
1 expander
2 hideself
CListContainerElementUI -> CContainerUI
1 selected
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小时内删除。
发表评论