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

DuiVision开发教程(17)-对话框

时间:2015-06-11 01:51:35      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:duivision   界面库   

DuiVision的对话框类是CDlgBase。
代码中如果需要创建一个对话框,一般建议使用DuiSystem类中封装的若干对话框相关的函数来操作,包括创建对话框、删除对话框、根据对话框名获取对话框指针、显示通用对话框。
对话框的属性如下:

属性名 类型 说明
width 数字 窗口宽度
height 数字 窗口高度
resize 0|1 1表示窗口可以改变大小
frame 字符串 窗口的frame层图片,frame层是一个可选的半透明Alpha图片层,一般设置的这个图片是用于和背景图片进行Alpha混合,这一层的图片中每个像素都包含了自身颜色和透明度属性,通过透明度属性可以将背景图片进行半透明处理,默认只有主窗口设置了这个frame层图片,并且默认的frame图片是一个透明度渐变的PNG图片,从顶端的100%透明到底端的完全不透明
framesize 数字 窗口的frame层图片的边框宽度,非九宫格方式有效
width-lt 数字 窗口的frame层图片的九宫格左上角位置距离边框的宽度
height-lt 数字 窗口的frame层图片的九宫格左上角位置距离边框的高度
width-rb 数字 窗口的frame层图片的九宫格右下角位置距离边框的宽度
height-rb 数字 窗口的frame层图片的九宫格右下角位置距离边框的高度
bkimg 字符串 窗口的背景图片,如果指定了就使用指定的背景图片,否则使用全局设置的背景图片
crbk 颜色 窗口的背景颜色,如果未指定背景图片,但指定了背景颜色,就使用指定的背景颜色,否则使用全局设置的背景图片
appwin 0|1 此窗口是否会显示在Windows任务栏中显示,见下面的截图说明
translucent 数字 窗口的整体透明度,取值范围是1-255,1表示全透明,255表示不透明
crtransparent 颜色 设置窗口的背景透明颜色,RGB格式
shadow-size 数字 窗口的算法阴影的宽度
img-shadow 图片 窗口的图片阴影使用的图片
shadow-wlt 数字 窗口的阴影层图片的九宫格左上角位置距离边框的宽度
shadow-hlt 数字 窗口的阴影层图片的九宫格左上角位置距离边框的高度
shadow-wrb 数字 窗口的阴影层图片的九宫格右下角位置距离边框的宽度
shadow-hrb 数字 窗口的阴影层图片的九宫格右下角位置距离边框的高度
topmost 0|1 窗口是否显示在所有窗口的最前面(整个桌面范围内)

说明:
1) 九宫格方式frame层的说明:对于复杂的背景frame层图片,其所有边框宽度并不是固定的,但一般都可以用九宫格方式来切分,就是把背景frame图片横向、纵向各用两条线切分,一共切分成九部分,应用时候四个角的图片大小是按照原始大小应用到窗口中的,其余几部分都会进行拉伸,对于这种方式,只要描述出九宫格的左上角和右下角坐标位置就可以,对应的就是width-lt、height-lt、width-rb、height-rb这4个属性。
技术分享
2)appwin属性的说明:下面截图中右边的任务栏窗口就是因为此窗口设置为appwin属性为1才会在任务栏中单独显示出来:
技术分享
3)窗口阴影的说明:窗口支持两种方式的阴影,一种是图片阴影,一种是算法阴影。图片阴影是指定一个九宫格方式的阴影图片,类似下图的图片,需要指定九宫格的坐标,窗口绘制时候会将阴影图片作为一个单独的层画在窗口的下方外围区域。算法阴影是直接通过算法画一个阴影层,需要指定阴影的宽度。如果窗口属性中设置了图片阴影的图片,则优先使用图片阴影方式画阴影层,如果没有指定阴影图片,但设置了阴影宽度,则使用算法阴影方式画阴影层,如果图片和阴影宽度都没有指定,则不会画阴影层。
技术分享
加了阴影的窗口效果如下:
技术分享

CDlgBase的常用函数如下:

函数 是否虚函数 说明
SetXmlFile 设置对话框加载的xml文件
GetControl 根据ID或name获取对应的控件指针
DoOK 对话框的确定
DoCancel 对话框的取消
DoClose 对话框的关闭
SetControlVisible 设置指定控件的可见性
SetControlDisable 设置指定控件是否禁用
OpenDlgPopup 打开一个弹出框
CloseDlgPopup 关闭弹出框

DuiVision开源代码下载地址(github):https://github.com/blueantst/DuiVision
蓝蚂蚁工作室主页:http://www.blueantstudio.net
DuiVision QQ群:325880743
微信公众号:blueantstudio 或搜索 蓝蚂蚁工作室

DuiVision开发教程(17)-对话框

标签:duivision   界面库   

原文地址:http://blog.csdn.net/oceanheart/article/details/46449827

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