Soui属性列表一览
作者:智力糖
提示:HOME键可以立即回到页面的头部,本属性列表仅支持 3.0版本
SOUI文件概论
soui包含了资源索引XML文件介绍(uires.idx)
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
uires.idx | < file name="webbtn_back" path="image\webbtn_back.png" / > | STRING | SOUI资源的入口,定义了程序中使用的各种资源,以"resource"为根节点。 在uires.idx中,可以定义了UIDEF,ICON,CURSOR,LAYOUT,IMGX,GIF,rtf,script,translator这些资源类型。 |
init.xml | < font face="宋体" size="15"/ > < string src="values:string" / > < skin src="values:skin"/ > < color src="values:color"/ > | STRING | 定义SOUI中使用的全局UI定义。一般定义font,string,skins,style,objattr五个子节点 |
skins.xml | < imglist name="skin_page_icons" src="imgx:png_page_icons" states="9"/ > | STRING | 定义SOUI中使用的全局窗口元素绘制对象,每一个对象都对应一个SOUI::ISkinObj的派生类。 |
uires.idx
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
name | gif_penguin | STRING | UI布局的XML文件引用该资源的标识 |
path | image\penguin.gif | STRING | 该资源真实的文件存储路径。 |
init.xml
这个xml_init必须是以UIDEF为唯一根节点
1.font范例: < font face="微软雅黑" size="18"/ >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
face | 微软雅黑 | STRING | 字体的名称 |
size | 18 | INT | 字体的大小 |
定义一个"name-字符串"映射,在布局的XML文件中可以通过引用字符串的name来获得字符串
范例:< string >< ver value="1.0"/ >< /string >
skins.xml
SOUI系统默认实现了SSkinImgList(imglist), SSkinImgFrame(imgframe), SSkinButton(button), SSkinGradation(gradation), SSkinScrollbar(scrollbar), SSkinMenuBorder(border)这几种绘图类型。SSkinImgList为SOUI中的C++类名,imglist为在skins节点中的元素类型名。
< !-- skin的通用属性-- >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
name | skin_page_icons | STRING | 皮肤名字,同一窗口内必须唯一,如(skin_page_icons) |
src | imgx:btn_nex | STRING | skinObj引用的图片文件定义在uires.idx中的name属性。资源引用格式为type:name |
colorizeEnable | 0 | INT | 标识是否支持色调调节 0不支持 1支持 |
scale | 0 | INT | 比例缩放 |
imglist是一个图片序列对象,可以包含一组小图片,常见的如按钮需要使用的4种状态图。
范例:< imglist name="skin_tree_icon" src="imgx:png_treeicon" states="3" / >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
tile | 0 | INT | 定义图片在放大显示时平铺还是拉伸,0--位伸(默认)其它--平铺 |
vertical | 0 | INT | 子图是否垂直排列,0--水平排列(默认), 其它--垂直排列 |
states | 1 | INT | 子图数量,默认为1 |
autoFit | 0 | INT | 自适应尺寸 窗口拉伸的时候,是不是变形充满 1 变形充满 0不变形 |
filterLevel | high | STRING | 缩放级别 高图片缩放没锯齿 取值high、medium,none、low |
imgframe是一个提供九宫格显示的绘图对象,SSkinImgFrame派生自SSkinImgList,因此imgframe也拥有imglist的全部属性。
范例: < imgframe name="skin_tab_left" src="imgx:png_tab_left" states="3" margin="1,1,1,1" / >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
left | 5 | INT | 九宫格左边距 |
top | 5 | INT | 九宫格上边距 |
right | 5 | INT | 九宫格右边距 |
bottom | 5 | INT | 九宫格下边距 |
margin-x | 5 | INT | 九宫格左右边距 |
margin-y | 0 | INT | 九宫格上下边距 |
margin | 10,10,10,10 | RECT | 外边距, 九宫格 4 周 |
button绘图对象是绘制按钮时使用的,它使用渐变实现绘制按钮的4种状态。
范例:< button name="win10btn" colorBorder="#ADADAD" colorUp="#E1E1E1" colorDown="#E1E1E1" colorBorderHover="#0078D7" colorUpHover="#E5F1FB" colorDownHover="#E5F1FB" colorBorderPush="#005499" colorUpPush="#CCE4F7" colorDownPush="#CCE4F7" cornerPercent="0.5" / >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
cornerPercent | 0.5 | DWORD | 圆角百分比,数值范围0-1 |
colorBorder | #cccccc | COLOR | 边框颜色,格式:#rgba |
colorUp | #cccccc | COLOR | 正常状态的渐变色上颜色,格式:#rgba |
colorDown | #cccccc | COLOR | 正常状态渐变终止颜色,格式:#rgba" |
colorUpHover | #cccccc | COLOR | 浮动状态渐变起始颜色 |
colorDownHover | #cccccc | COLOR | 浮动状态渐变终止颜色 |
colorUpPush | #cccccc | COLOR | 下压状态渐变起始颜色 |
colorDownPush | #cccccc | COLOR | 下压状态渐变终止颜色 |
colorUpDisable | #cccccc | COLOR | 禁用状态渐变起始颜色 |
colorDownDisable | #cccccc | COLOR | 禁用状态渐变终止颜色 |
渐变绘图对象,提供3个属性
范例:< gradation name="skin_caption" colorFrom="#0000bb" colorTo="#0000ff" vertical="0" / >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
vertical | 0 | INT | 渐变方向,0--水平(默认), 1--垂直 |
colorFrom | #cccccc | COLOR | 渐变起始颜色,格式:#rgba |
colorTo | #cccccc | COLOR | 渐变终止颜色,格式:#rgba |
动条皮肤,虽然它派生自imglist,实际上imglist中实现的属性在scrollbar中没有意义,只是为了省点代码 如果没有帮手也没有禁用状态,图片应该是8*3的正方形网格。 有帮手则X增加一个网格,有禁用状态则Y增加一个网格。
范例: < vscrollbar name="skin_vscrollbar" src="imgx:png_vscroll" states="3" margin="4" / >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
margin | 0 | INT | 边缘拉伸大小 |
hasGripper | 0 | INT | 滑块上是否有帮手(gripper) |
hasInactive | 0 | INT | 是否有禁用态 |
style
在style节点中,定义UI布局中SOUI窗口对象的属性集合,它们是SWindow对象的属性,所有SWindow对象都可以通过class属性来引用style节点中定义的属性集合。
范例: < class name="cls_btn_weblink" cursor="hand" colorText="#1e78d5" colorTextHover="#1e78d5" font="italic:1" fontHover="underline:1,italic:1" / >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
name | cls_edit | STRING | 风格样式名称 |
ncSkin | INT | 窗口绘制非客户区边框时引用的ISkinObj对象名称 属性值为BUILDIN_SKIN_NAMES | |
margin-x | 0 | INT | 非客户区left及right宽度 |
margin-y | 0 | INT | 非客户区top及bottom宽度 |
textMode | 1 | INT | 文本对齐 0--对齐(默认)1--不对齐 |
align | left | STRING | 文字横向对齐方式,取值left、center、right 在没有指定textMode时有效 |
valign | center | STRING | 文字纵向对齐方式,取值top、center、bottom 在没有指定textMode时有效 |
colorBkgnd | #0000ff | COLOR | 背景颜色 与skin属性冲突,优先使用skin对象绘制背景 |
colorBorder | #0000ff | COLOR | 边框颜色 与skin属性冲突,优先使用skin对象绘制背景 |
font | adding:5,bold:1 | STRING | 默认字体 字体属性可以分解为5个子属性 adding:5,bold:1 solid,blurRadius:3 underline:1 bold 加粗 adding 相对默认字号加大 solid 实线 blurRadius 模糊半径 skia渲染支持字体模糊 underline下划线 |
fontHover | left | STRING | 悬停时字体 参照Font属性 |
fontPush | left | STRING | 按下时字体 参照Font属性 |
fontDisable | left | STRING | 失效时字体 参照Font属性 |
colorText | #0000ff | COLOR | 默认字体颜色 |
colorTextHover | #0000ff | COLOR | 悬停时字体颜色 |
colorTextPush | #0000ff | COLOR | 按下时字体颜色 |
colorTextDisable | #0000ff | COLOR | 失效时字体颜色 |
dotted | 0 | INT | 在文件绘制长度超出客户区时是否使用'...', 0--不使用(默认) 1--使用 |
cursor | hand | STRING | 鼠标移入时的样式 指定光标资源名称 如 hand ANI_ARROW |
SOUI
soui界面的主节点。定义了主界面的真窗口的各种属性
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
trCtx | STRING | 在语言翻译时作为context使用 xml名称 | |
title | SOUI-DEMO | STRING | 窗口标题 只能在STabCtrl中使用 |
maxInset | 0,0,0,0 | RECT | 窗口最大化时超出屏幕的边缘大小。经测试,WS_OVERLAPPED style的窗口该属性无效 |
margin | 0,0,0,0 | RECT | 拉伸窗口感应区大小 |
minsize | 0,0,0,0 | RECT | 窗口最小值 |
wndStyle | 0 | DWORD | 窗口样式,参考windows的窗口属性WS_BORDER WS_CAPTION |
wndStyleEx | 0 | DWORD | 窗口扩展样式 |
resizable | 0 | INT | 窗口是否可以改变大小 1 可以改变 0不可以改变 |
translucent | 0 | INT | 窗口透明,此属性子窗口不能使用真窗口 0不透明 1透明 |
sendWheel2Hover | 0 | INT | 发送鼠标滚轮消息发送到 hover 窗口 1发送 0不发送 |
appWnd | 0 | INT | 窗口是否为主窗口(主窗口关闭程序会退出),在任务栏上显示按钮 窗口对应 WS_EX_APPWINDOW |
toolwindow | 0 | INT | 设置WS_ES_TOOLWINDOW属性 |
smallIcon | ICON_LOGO:16 | STRING | 题栏小图标 格式:iconname:size |
bigIcon | ICON_LOGO:32 | STRING | 标题栏大图标 格式:iconname:size |
alpha | 255 | INT | 窗口的alpha值(0-255),0为完全透明 |
allowSpy | 1 | INT | 是否允许 SouiSpy 探测窗口 |
wndType | undefine | STRING | 窗口类型傎为 appMain 为主窗口 undefine 未定义 normal常规窗口 主窗口标志,有该标志的窗口关闭时自动发送WM_QUIT |
width | 666 | INT | 窗口预设的宽度,如(666) 自动计算就设置为-1 |
height | 400 | INT | 窗口预设的高度,如(666) 自动计算就设置为-1 |
size | 0,0 | SIZE | 窗口的初始化大小,如(800,500) 自动计算就设置为-1,1 |
Window
一般窗口控件 支持对style中的属性定制
范例: < window id="9527" pos="1,1,-1,-1" skin="demoskinbk" cache="1" colorBkgnd="#ffffff" alpha="100" >/p>
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
class | STRING | style名称,style是一组属性的集合) | |
id | 0 | INT | 窗口ID SWindow的FindChildByID根据本属性来查找子窗口。 |
name | STRING | 窗口名称 SWindow的FindChildByName根据本属性来查找子窗口。 | |
cache | 0 | INT | 绘制缓存 0--无绘制缓存(默认) 1--有绘制缓存 无缓存时每次刷新时发送WM_PAINT消息重绘;有缓存时为窗口创建一个绘制缓存,只有自己窗口更新后重绘,否则在绘制链中直接调用缓存绘制。 |
skin | STRING | 定义皮肤样式 skin名称 | |
ncSkin | STRING | 窗口绘制非客户区边框时引用的ISkinObj对象名称 | |
data | data | STRING | 可以在XML中指定一个对象的附加数据,通过GetUserData访问。 |
enable | 1 | INT | 控件是否可用 0--不可用 1--可用 |
visible | 1 | INT | 控件是否可见 0--隐藏 1--可见 |
pos | 0,0,0,0 | RECT | 控件位置 如(0,0,100,100) |
display | 1 | INT | 显示 0--隐藏不占位 1--隐藏占位(默认) |
tip | this is tip | STRING | 提示框 |
msgTransparent | 0 | INT | 鼠标消息穿透 决定是否可以收到鼠标消息 0--窗口接收鼠标键盘消息(默认) 1--不接收消息 |
sep | 0 | INT | 窗口默认间距 在下一个窗口没有指定pos属性时,自动横向布局时与本窗口的间距 |
maxwidth | 9999 | INT | 窗口最大宽度,根据内容自适应窗口大小时窗口的最大宽度 如(100) |
maxheight | 9999 | INT | 窗口最大高度,如(30) |
clipClient | 0 | INT | 是否在绘制窗口时限制内容只绘制在客户区, 如果窗口内容绘制时可能超出窗口,则将该属性设置为1 0--不剪裁(默认) 1--剪裁 |
focusable | 0 | INT | 窗口是否接受焦点,0--不接受 1--接受(默认) |
float | 0 | INT | 是否使用绝对定位 ,0--不接受(默认) 1--接受 |
alpha | 255 | INT | 窗口的alpha值(0-255),如(100) |
dotted | 0 | INT | 在文件绘制长度超出客户区时是否使用'...', 0--不使用(默认) 1--使用 |
cursor | hand | STRING | 光标 指定光标资源名称 如 hand ANI_ARROW |
offset | 0,0 | STRING | pos 属性完成坐标定位后再将坐标进行偏移的属性 |
layeredWindow | 0 | INT | 指示是否是一个分层窗口 |
trackMouseEvent | 0 | INT | 鼠标事件跟踪,捕获子窗口鼠标消息 |
text | 测试文本 | STRING | 从text属性中获取显示文本,如(测试文本) |
drawFocusRect | 1 | INT | 绘制默认的焦点虚框 0--不绘制 1--绘制(默认) |
layout | soui | STRING | 布局样式,支持4种布局:soui(相对布局),gridLayout(网格布局), vbox(垂直线性布局), hbox(水平线性布局) |
button
按钮控件类 通过属性ID绑定click事件 Use id attribute to process click event
范例:< button pos="10,5,@150,@25" name="btn_test" tip="click the button to see how to writing the response function" >btn< /button >
属性 | 默认值 | 类型 | 说明 |
---|---|---|---|
accel | ctrl+alt+f11 | STRING | 键盘快捷键 如:ctrl+alt+f11 |
animate | 0 | INT | 动画效果 0--关闭(默认) 1--启用 |
animateStep | 0 | INT | 动画的组成帧数 alpha for an animate step |
disableAccelIfInvisible | 0 | INT | 当控件不可见的时候禁止快捷键disable accel if invisible 0--关闭(默认) 1--启用 |