DuiVision开发教程(19)-菜单

DuiVision菜单类是CDuiMenu。有两种显示的位置,一种是在窗体顶部某个button点击后能够下拉一个菜单,还有一种是托盘图标的右键菜单。
窗体中的菜单定义方式是xml文件里设置某个button的action属性,以menu:开头。后面是菜单的XML文件名称或XML定义名,比如以下这样定义:

<imgbtn name="button.menu" pos="-110,0,-77,29" skin="IDB_BT_MENU" tip="菜单" action="menu:mainmenu.xml"/>

托盘菜单默认是依照resource.xml中定义的menu_tray指向的XML文件来载入菜单。
两种方式载入的菜单定义XML文件格式都是同样的,參考前面XML说明章节的演示样例。
菜单类的属性例如以下:

属性名类型说明
width数字菜单窗体宽度
item-height数字每一个菜单项的高度
left数字菜单左側图标区的宽度
sep-height数字菜单分隔线的高度
font字符串字体
fontwidth数字字体宽度
frame-width数字菜单项距离边框的宽度
top-height数字菜单项顶部距离边框的高度
bottom-height数字菜单项底部距离边框的高度
crrowhover颜色菜单项背景颜色(鼠标移动到菜单项时候的颜色),假设不设置则使用默认颜色
img-rowhover图片菜单项背景图片(鼠标移动到菜单项时候的背景图片),优先级比背景颜色高
img-popuparrow图片弹出菜单箭头图片

经常使用函数例如以下:

函数是否虚函数说明
LoadXmlFile载入菜单XML文件
AddMenu动态加入菜单项
AddSeparator动态加入菜单分隔线
SetItemTitle预设值菜单项的标题
SetItemVisible预设值菜单项的可见性
SetItemDisable预设值菜单项的禁用状态
SetItemCheck预设值菜单项的检查标志
SetMenuPoint刷新全部菜单项的位置信息
GetParentMenu获取父菜单对象
GetHoverMenuItem获取当前激活菜单项对象

菜单中载入的每一个菜单项的控件是CMenuItem类。控件类型名是menuitem,菜单项的属性例如以下:

属性名类型说明
seperator0|1是否分隔线
select0|1是否选择(假设是checkbox或radiobutton类型的菜单项,此属性必须设置为1)
check0|1是否处于选中状态
group字符串广播button所属的组名,同样组名的广播button是属于一组的。能够联动。一组中仅仅有一个会处于选中状态
value字符串广播button的值,一组广播button中的多个button值是不一样的。当获取这一组广播button的值时候,获取的就是选中的button的值
menu字符串引用其它的菜单的名字(通过资源定义能够找到的菜单的名字),设置了这个属性,则会将相应的菜单嵌入当前菜单中
image图片菜单项左側的小图片,假设是弹出菜单,而且没有设置菜单的img-popuparrow属性。则image属性表示菜单项右側的箭头图片
img-count数字设置菜单项左側图片是由几个并列的小图片组成的
taskmsg0|1是否通过任务方式运行菜单处理函数,假设弹出菜单的处理函数中有堵塞或等待的操作(比如打开一个对话框),则运行过程中弹出菜单可能会由于失去焦点而将自身的对象删除,这样的情况下就须要通过任务方式运行菜单处理函数,任务方式是将操作插入任务队列。由任务队列线程再去运行菜单处理函数

菜单项类的经常使用函数例如以下:

函数是否虚函数说明
SetCheck设置是否选择
GetCheck获取是否选择的状态
IsSeparator推断是否分隔线
SetGroupName设置广播button组的名字
GetGroupName获取广播button组的名字
GetValue获取广播button的值
GetGroupValue获取广播button组的值
ResetGroupCheck刷新父控件以下全部同一个组的RadioButton控件的状态

菜单界面示比例如以下:
19-119-219-3


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

转载于:https://www.cnblogs.com/gccbuaa/p/7026365.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

值得收藏!深度报告解读NB-IoT

来源&#xff1a;物联传媒2019年NB-IoT行业获得了快速发展&#xff0c;用户数有望较2018年提升3倍以上&#xff0c;预计随着2020年基站数的大幅提升&#xff0c;为行业发展提供更进一步的支撑&#xff0c;加速技术成熟度提升&#xff0c;用户数有望保持快速增长。NB-IoT是万物互…

我的世界中国版服务器无限夜视,我的世界服务器游戏技巧 无限夜视的方法

来源&#xff1a;游戏园日期&#xff1a;2019-06-12 04:03:49我的世界服务器游戏技巧 无限夜视的方法。那下面给大家分享的是一些大家可能不知道的游戏技巧&#xff0c;那下面就一起来看看都是些什么技巧吧&#xff01;对了&#xff0c;里面还有关于服务器无限夜视的方法哦&…

Oracle锁表查询和解锁方法

数据库操作语句的分类 DDL&#xff1a;数据库模式定义语言&#xff0c;关键字&#xff1a;createDML&#xff1a;数据操纵语言&#xff0c;关键字&#xff1a;Insert、delete、updateDCL&#xff1a;数据库控制语言 &#xff0c;关键字&#xff1a;grant、removeDQL&#xff1a…

揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活

来源&#xff1a;世界人工智能大会 AI 和 5G 与机器人技术结合&#xff0c;正在不断催生新的消费电子品类。AI 解决机器理解世界&#xff0c;以及人机交互的问题。5G 拓展机器人的活动边界&#xff0c;并为机器人提供更大的算力和存储空间&#xff08;云协作机器人&#xff09;…

服务器热修复,热修复探究,hotfix,patch

常见场景App打包发出后1.忘了关掉Log输出了2.存在一个业务逻辑触发必崩溃3.某个本地图标忘了替换成新的遇到这些问题&#xff0c;若是Web站点&#xff0c;Mobile站点问题都不大&#xff0c;因为这些具有“持续发布”的特长&#xff0c;但是App的特点是“版本发布”&#xff0c;…

html5 填表 表单 input output 与表单验证

1.<output> Js计算结果 <form οninput"res.value num1.valueAsNumber*num2.valueAsNumber"> <input type"number" id"num1"> X <!-- 没有闭合</input> --> <input type"number" id…

人工智能如何获得知识?

原发&#xff1a;人民论坛学术前沿 2019年21期转自&#xff1a;南京大学哲学系摘要&#xff1a;人构造概念以认识世界&#xff0c;人的认知与人的身体密切相关。计算机是人类心灵的延伸&#xff1b;而人类发明的各种认知用仪器&#xff08;机器&#xff09;是人类感官的延伸&am…

报告:美国AI投资占全球56% 中国第二增长最快

来源&#xff1a;小小据外媒报道&#xff0c;由英国政府资助的科技企业家网络Tech Nation日前发布最新报告。报告显示了2015年至2019年各国企业在全球范围内获得的人工智能(AI)领域的投资情况。在这五年期间&#xff0c;美国吸引了全球56%的AI投资&#xff0c;紧随其后的是中国…

服务器图文消息发送规则,群发图文规则 - CurtainRight的个人空间 - OSCHINA - 中文开源技术交流社区...

2、上传图文接口内容信息对比&#xff1a;注意&#xff1a;除了群发图文之外&#xff0c;其余的图文消息都是没有Content&#xff0c;所以都是自己写页面&#xff0c;然后通过URL打开新的页面&#xff0c;那么你的图片就不能访问微信服务器上的图片。因为现在未经授权是不能访问…

rust怎么拆除墙壁指令_人类跌落梦境:城堡怎么过 不少玩家卡在了第六关城堡地图这里...

人类跌落梦境城堡怎么过&#xff1f;随着人类一败涂地手游上线&#xff0c;不少玩家卡在了第六关城堡地图这里。城堡怎么抓灯笼&#xff0c;这个图里风车要怎么用呢&#xff1f;这里就为大家带来人类跌落梦境第六关城堡攻略图解。人类跌落梦境城堡怎么过人类跌落梦境第六关城堡…

【工业智能】人工智能真的无所不能吗?

图1-1956年达特茅斯会议上的那些AI界大神们来源&#xff1a;产业智能官最近几年&#xff0c;随着AlphaGo逐渐干掉了人类的顶级棋手、波士顿“大狗”不断进化的能力使得人们对人工智能充满了期待&#xff0c;人工智能的热潮席卷了大学、企业&#xff0c;春风也吹进了工业这个一直…

Discuz网警过滤关键词库

积累近几年discuz关键词过滤 使用方法&#xff1a;1.进入后台/内容/词语过滤批量添加。2.打开CensorWords.txt&#xff0c;复制里面的文本信息到批量添加的输入框内&#xff0c;点击确定即可。如图&#xff1a; 关键词下载&#xff1a;Keywords.zip转载于:https://www.cnblogs.…

AI解读医学影像能力超越人类?BMJ综述:此类研究大多存在偏差

图片来源&#xff1a;Pixabay来源&#xff1a;BMJ翻译&#xff1a;阿金审校&#xff1a;戚译引许多研究宣称&#xff0c;人工智能在解读医学影像方面具备和人类专家同等甚至更强的能力。但是&#xff0c;BMJ 近期发表的一篇综述指出&#xff0c;这些研究质量堪忧&#xff0c;有…

收藏!全国31个省市区重点产业布局!

图片&#xff1a;IC photo来源&#xff1a;世界科技创新论坛一、天津优势产业﹕航空航天、石油化工、装备制造、电子信息、生物医药、新能源新材料、轻工业、国防、现代物流、海洋经济。重点招商引资产业﹕现代服务业的高端商业和电子商务&#xff0c;研发、结算中心和企业总部…

高德sdk_联手HERE,高德进军地图海外市场 | CES 2020

升级为国民出行平台之后&#xff0c;高德地图宣布进军海外市场。1月8日&#xff0c;高德与HERE 地图共同宣布&#xff0c;基于海外地图及动态信息服务展开合作。HERE地图将为高德提供中国以外地区的地图数据及交通信息等&#xff0c;高德从而可实现为用户提供全球路径规划引导、…

养成一个新习惯,只需要这个大脑区域兴奋0.5秒

图片来源&#xff1a;Pixabay文章来源&#xff1a;达特茅斯学院翻译&#xff1a;毛千芊审校&#xff1a;张毛毛每天&#xff0c;人类和动物依靠习惯完成日常起居&#xff0c;如吃饭和睡觉。习惯使我们能不加思考地做事。当大脑开始养成一种新习惯时&#xff0c;只需半秒钟&…

android 瀑布流

最终效果图 1.item_demo5.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"wrap_con…

$.ajax 加了headers报错_Springboot解决Ajax跨域的三种方式

这篇文章不华丽&#xff0c;但比较实用&#xff0c;能解决不少大家实际业务中的问题。大家可以收藏起来&#xff0c;以备用时之需&#xff01;1.同源策略 1.1 含义ajax出现请求跨域错误问题&#xff0c;主要原因就是因为浏览器的“同源策略”&#xff1b;1995年&#xff0c;同…

高精度惯性传感器如何实现全球自动化愿景?

来源&#xff1a;MEMS如果农场基于丰富的传感器内容来联合利用自动化地面车辆和航空器&#xff0c;那么地面作业将更加有效&#xff1b;如果手术室能够将经典的导引技术供精密制导机械臂使用&#xff0c;那么成功率将得到保障&#xff1b;如果救援行动中能够精准定位施救人员的…

catia怎么将特征参数化_搭建商城网站怎么将页面简洁化?这三个步骤不能少

随着用户群体的年轻化&#xff0c;消费者的习惯也会开始转变&#xff0c;简洁的风格设计能帮助商家更快的吸引到用户。制作自己的商城系统来进行产品销售是常见的方式之一&#xff0c;商家需要做好自己的网站规划&#xff0c;并向开发商提出相应的要求。那么&#xff0c;今天就…