SmartInvoke屏蔽了Flash中的系统内置右键,添加了系统本地右键菜单功能。只需几段代码就可以创建出本地右键菜单。右键菜单主要用到以下四个类:
cn.smartinvoke.gui.control.CAction;
菜单项信息类,封装了菜单项的id,菜单项的显示文字,菜单项的图标,菜单项类型等信息。
cn.smartinvoke.gui.control.CNativeMenuBuilder
本地菜单类,该对象表示一个菜单。他由菜单项CAction与CMenuRelation组成。
cn.smartinvoke.gui.module.CActionEvent;
菜单的点击事件类,单用户点击了某个菜单项后,smartinvoke就会派发这个事件。
cn.smartinvoke.gui.CContextMenuManager
菜单管理器,用户不能单独创建该类,该类是SIApplication对象的成员,管理着当前窗口总的所有菜单对象。每个菜单都要与某个显示控件相关联,不可能独立存在,所以菜单管理器在这里还维护这菜单与显示控件的关联关系。
cn.smartinvoke.gui.module.CMenuRelation;
菜单项组织者,该对象将多个菜单项组织成一个菜单。然后通过CContextMenuManager与指定控件关联。
下面我们就来简单的实现一个本地菜单。在First_项目的FirstWin.mxml的init方法中增加如下内容:
//菜单的实现
//构造三个菜单项
var act1:CAction=new CAction("action1","菜单一");//action1为第一个菜单项的id
var act2:CAction=new CAction("action2","第二个菜单");
var act3:CAction=new CAction("about","关于smartinvoke");
//构造菜单对象
var menu:CNativeMenuBuilder=new CNativeMenuBuilder(this.shell);
//将菜单项数组传递给菜单对象
menu.initAction([act1,act2,act3]);
//组织菜单项之间的关系
var subRel:CMenuRelation=new CMenuRelation();
subRel.actions=[act2.actionId];
subRel.label="子菜单";
var rel:CMenuRelation=new CMenuRelation();
rel.actions=[act1.actionId,subRel,"-",act3.actionId];
menu.initMenu(rel);
//添加事件监听器
menu.addListener(function (evt:CActionEvent):void{
this.labelInfo.text="您点击了菜单"+evt.actionId+" 菜单路径:"+evt.path;
},this);
//将当前创建的菜单,关联到当前SIApplication应用程序对象上,
//当然你可以关联到任何InteractiveObject类型对象上
this.contextMenuManager.addNativeMenu(this,menu);
当然我们也可以通过调用CNativeMenuBuilder类的addAction与addMenuItem两个方法动态的添加一菜单项到菜单对象中。
addAction(cAction:CAction):void 作用为添加一菜单项实体对象。
addMenuItem(actionId:String, path:String):void 将菜单项添加到菜单path所指定的显示位置上,这里的path由CMenuRelation对象的label属性加反斜杠/组成。比如在下图所示的菜单中:
菜单项全屏的path为空字符串,菜单项:简体中文(GB18030)的path为:字符编码(C),菜单项:东亚 的path为:字符编码(C)/自动检测(A)
也可以调用CNativeMenuBuilder类的removeMenuItem(actionId:String, path:String):void方法删除指定位置上的菜单项。
当然CNativeMenuBuilder类还有设置菜单项状态,菜单项显示文字等方法,请参考中文API。
- 大小: 74.4 KB
分享到:
相关推荐
由于Flex本身限制了对本地资源的访问,通过SmartInvoke可以突破这一限制,允许Flex应用访问本地文件系统及其他资源。 #### 安装配置 1. **确保Flash Builder 4插件版安装** - 如果未安装Flash Builder 4插件版,...
《SmartInvoke库与示例详解:Java/C#与Flex的桥梁》 在现代软件开发中,跨平台交互已经成为一个普遍需求。SmartInvoke库正是为了解决这个问题而诞生的,它提供了一种有效的方式,使得Flex界面API能够与Java或C#进行...
4. **智能调用(Smart Invoke)**:虽然标题中没有明确解释,但"smartinvoke"可能指的是IDE的一种特性,即智能地调用方法或函数,可能包括了代码提示、代码自动生成、上下文感知等功能,以提高开发者的生产力。...
标题中的"C#与Flex交互"指的是在开发过程中,使用C#作为后端处理逻辑,而Flex作为前端用户界面,两者之间进行数据和功能的通信。Flex是一种基于Adobe AIR和Flash Player运行时的开源框架,主要用于构建富互联网应用...
沙度
基于prometheus官方插件nodeexporter修改
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
opengl
【大厂面试专栏】一份Java程序员需要的技术指南,这里有面试题、系统架构、职场锦囊、主流中间件等,让你成为更牛的自己!_technology-talk
乘用车碟刹刹车片,全球前25强生产商排名及市场份额(by QYResearch).docx
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
各省、自治区、直辖市社会发展各领域_中国社会统计年鉴数据2006-2021年-最新出炉.zip
KWDB 是一款面向 AIoT 场景的分布式多模数据库产品,支持在同一实例同时建立时序库和关系库并融合处理多模数据,具备千万级设备接入、百万级数据秒级写入、亿级数据秒级读取等时序数据高效处理能力,具有稳定安全、高可用、易运维等特点。
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
配置好的vim配置文件,拿来就可以使用,可以快速搜索代码以及文件,函数跳转等,完全可以当一个ide使用。配置文件中都有自己写的中文注释,不懂的可以看注释。
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
原文链接:https://blog.csdn.net/zsd12379/article/details/141302581 包含功能: 用户管理:实现用户注册、登录、权限分配及个人信息管理,确保系统访问的安全性。 球员管理:维护球员的基本信息、职业生涯数据、伤病记录等,支持查询与统计分析。 赛程信息管理:记录比赛的日程安排、对阵双方、比赛结果及场地信息,便于赛事组织与追踪。 国家队管理:管理国家队的成员名单、教练团队、历史战绩及国际排名,支持队伍分析与比较。 新闻资讯管理:发布篮球相关的新闻、公告,包括赛事报道、球员动态等,支持内容编辑与审核。 新闻分类管理:对新闻资讯进行分类维护,如赛事新闻、球员专访、技术分析等,便于用户按需浏览。 在线留言管理:提供用户留言功能,收集用户反馈与建议,支持管理员回复与处理,增强用户互动。
可盈保险合同管理系统项目描述 可盈保险合同管理系统是为了满足保险行业对合同管理的精细化、高效化需求而设计的。该系统集成了多个功能模块,旨在帮助保险公司及其代理人更好地管理保险合同,提高工作效率和客户满意度。 系统主要包含以下功能: 首页:作为系统的入口,首页提供了系统的概览和导航功能,方便用户快速了解系统的整体布局和各个功能模块。 个人中心:用户可以在此模块中查看和管理自己的个人信息,包括账户安全、个人信息设置等,提高个性化体验。 修改密码:为了提高账户的安全性,系统允许用户随时修改自己的密码,确保账户不被非法入侵。 基础数据管理:该功能用于管理系统所需的基础数据,如客户信息、保险产品信息等,为其他模块提供数据支持。 公告信息管理:系统支持发布和查看公告信息,方便用户及时了解公司的最新动态和政策变化。 用户管理:管理员可以通过此模块对用户进行管理和审核,确保系统的用户都是合法和可信的。 客户管理:该功能用于管理客户的信息和需求,包括客户的基本信息、购买历史等,有助于销售人员更好地了解客户需求,提高销售效率。 合同管理:系统支持合同的录入、修改、查询和统计等功能,确保合同的准确性
BookChat-v2.4.zip
工业微焦点X射线管.docx