DuiVision开发教程(14)-DUI控件基础类

DuiVision所有控件的基类是CControlBase类。
CControlBase的属性如下表:

属性名类型说明
show1|0控件是否可见
disable1|0控件是否被禁用
pos位置控件的位置坐标,可以是左上角坐标,例如10,10,也可以是左上角+右下角坐标,例如10,10,200,100。
支持正值和负值,正值表示从父控件左上角开始计算的值,负值表示从父控件右下角开始计算的值,例如-10,10表示从右边往左10像素,从上往下10像素的位置。
也可以支持从父控件中间开始计算的坐标,用|表示中间位置,例如|10,|-10表示横向中间向右10像素,纵向中间向上10像素的位置。
width 数字 控件宽度
height 数字 控件高度
action字符串控件的动作字符串,表示控件点击之后执行的动作,有几种类型:
1、dlg:xxxx,表示显示指定的对话框,显示的对话框可以是一个xml定义文件,也可以是一个定义(从resource资源定义文件中查找具体的xml定义文件)
2、menu:xxxx.xml,表示显示指定的菜单,菜单定义文件是指定的xml文件
3、link:url,表示使用浏览器或其他默认程序打开指定的链接或文件
4、run:xxx.exe|param,表示运行指定的程序,可以传递命令行,执行的程序后面用|分隔,|之后的表示传递的命令行参数
menupos位置菜单显示的位置坐标,必须是x,y,dx,dy的形式(dx,dy为可选参数)。
x,y表示菜单左上角坐标,例如10,10。
支持正值和负值,正值表示从控件左上角开始计算的值,负值表示从父控件右下角开始计算的值,例如-10,10表示从右边往左10像素,从上往下10像素的位置。
也可以支持从控件中间开始计算的坐标,用|表示中间位置,例如|10,|-10表示横向中间向右10像素,纵向中间向上10像素的位置。
dx,dy是可选内容,表示菜单的显示方向,默认是正值,如果dx是负值,表示向左侧的显示方向,如果dy是负值,表示向上的显示方向。
tip字符串定义鼠标移动到空间上过一段时间会出现的tip提示信息,tip信息只有对话框的基础控件可以定义,其他控件即使定义了也没有效果
tip-width数字Tooltip的宽度,默认为0,这个值只有设置为大于0才会有效
response1|0控件是否可以响应鼠标事件,如果不希望控件响应鼠标事件,可以设置此属性为0
tabstop1|0控件是否可以响应焦点切换的事件,也就是按键盘tab键能否将焦点切换到此控件
taskmsg1|0调用事件响应函数时候是否采用任务方式,对于可能产生阻塞或耗时比较长的处理操作应该采用任务方式处理,避免造成界面不响应或界面异常
img-ecm1|0是否使用图片自身的颜色管理信息,默认为0,表示加载图片文件时候使用系统的颜色管理信息而不使用图片自身的颜色管理信息,因为XP SP1以前的操作系统自带的GDI+模块可能不支持图片自身的颜色管理信息,因此如果设置为1的话,在XP SP1以前的系统下运行图片可能无法正常显示
shortcut字符串定义控件的快捷键,快捷键字符串参考第二章的相应章节说明,当按下对应快捷键的时候,会自动触发此控件产生一个鼠标按下和鼠标放开的事件,模拟点击了此控件
cursor字符串定义控件的鼠标光标,如果定义,则鼠标移动到控件范围内会显示指定的鼠标光标,目前支持系统预定义的几个鼠标光标,分别是:
arrow - 箭头;
wait – 沙漏等待;
cross – 十字;
sizewe – 双箭头指向东西;
sizens – 双箭头指向南北;
hand – 手型;
help – 箭头+问号
duimsg字符串指定控件会发送哪些DUI消息,消息名之间用|分隔,例如:”msg1|msg2|msg3”。
目前支持的消息名包括:
mousemove – 发送鼠标移动和鼠标离开控件的消息
mouseldown - 发送鼠标左键按下的消息
mouselup - 发送鼠标左键放开的消息
mouseldblclk - 发送鼠标左键双击的消息
keydown – 发送键盘按下的消息

CControlBase的常用函数如下:

函数是否虚函数说明
GetParent获取父控件对象指针
GetControl根据ID或name获取控件对象指针
AddControl添加控件
RemoveControl删除控件
GetControls获取所有控件对象的列表
GetParentDialog获取控件所在的对话框的指针
OnMessage控件的消息处理函数
SendMessage发送通知消息
SetRect设置控件的位置
GetRect获取控件的位置
OnPositionChange刷新控件的位置信息
SetPosStr设置控件的位置字符串
SetVisible设置控件的可见性
GetVisible获取控件的可见性
SetControlWndVisible设置控件中的Windows原生控件是否可见的状态,由Panel对象中调用,对于edit、activex等使用了Windows原生控件的类需要重载此函数,并正确的进行原生控件的显示和隐藏
SetDisable设置控件是否禁用
GetDisable获取控件是否禁用
SetTabStop设置控件是否能响应tab键
IsTabStop获取控件是否能响应tab键
SetTooltip设置控件的tip信息
GetTooltip获取控件的tip信息
SetAction设置控件的动作字符串
GetAction获取控件的动作字符串
SetRresponse获取控件是否可响应鼠标事件
GetRresponse设置控件是否可响应鼠标事件
PtInRect判断坐标是否在控件范围内
UpdateControl刷新控件显示
SetWindowFocus设置窗口焦点
OnFocus设置此控件是否为当前焦点控件
IsFocusControl判断此控件是否为当前焦点控件
OpenDlgPopup打开弹出对话框
CloseDlgPopup关闭弹出对话框

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值