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

24 篇文章 0 订阅
21 篇文章 3 订阅

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

属性名类型说明
width数字窗口宽度
height数字窗口高度
resize0|11表示窗口可以改变大小
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颜色窗口的背景颜色,如果未指定背景图片,但指定了背景颜色,就使用指定的背景颜色,否则使用全局设置的背景图片
appwin0|1此窗口是否会显示在Windows任务栏中显示,见下面的截图说明
translucent数字窗口的整体透明度,取值范围是1-255,1表示全透明,255表示不透明
crtransparent颜色设置窗口的背景透明颜色,RGB格式
shadow-size数字窗口的算法阴影的宽度
img-shadow图片窗口的图片阴影使用的图片
shadow-wlt数字窗口的阴影层图片的九宫格左上角位置距离边框的宽度
shadow-hlt数字窗口的阴影层图片的九宫格左上角位置距离边框的高度
shadow-wrb数字窗口的阴影层图片的九宫格右下角位置距离边框的宽度
shadow-hrb数字窗口的阴影层图片的九宫格右下角位置距离边框的高度
topmost0|1窗口是否显示在所有窗口的最前面(整个桌面范围内)

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

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 或搜索 蓝蚂蚁工作室

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值