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运行时的开源框架,主要用于构建富互联网应用...
只需要用一张图片素材文档选择器.zip
浙江大学842真题09-24 不含答案 信号与系统和数字电路
无标题baci和jbaci
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
实体商品销售源码最新优化.zip
内容概要:本文档详细介绍了戴尔存储MD1400机柜的安全注意事项、电源指示灯解释、故障排除方法以及硬件维护步骤,包括卸下和安装直流电源设备、硬盘驱动器和背板的具体操作流程。 适用人群:IT运维人员、数据中心管理员和技术支持工程师。 使用场景及目标:在维护和管理戴尔存储MD1400机柜时作为参考指南,确保正确安装和故障排查,避免安全隐患和设备损坏。 其他说明:文档提供了丰富的图文指导,帮助使用者更好地理解和执行相关操作。
PyClass 课程计划Noisebridge Python 课程每周一晚上 7 点至 9 点(太平洋时间)在旧金山 Noisebridge 二楼电子室举行。自 2024 年 8 月起,该课程目前暂停。请参阅 wiki 页面了解更多信息。本课程免费!如果您希望捐款,请捐赠给 Noisebridge。建议捐款15 美元、50 美元、200 美元以上建议每月捐款每月 10 美元、20 美元、40 美元、80 美元以上所有 Python 课程均遵循Noisebridge 反骚扰政策、 Noisebridge 冲突解决指南和 recurse.org 社交规则课后,我们欢迎您提供反馈! 在此提交表格内容课程课程描述新生阅读迭代次数Noisebridge Python 课程至少早在 2015 年就已经存在,拥有许多不同的讲师和版本。从 2017 年到 2018 年,该课程似乎由Jared Garst负责。(?)。从 2023 年到 2024 年,该课程由Travis Briggs负责。如果您有其他关于此类历史的信息想要分享,请在此处创建 PR、
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
万达广场作为城市综合体的代表,在中国各地的地理分布数据集覆盖了2006至2021年。这些数据详细记录了万达广场的多个关键指标,包括项目名称、项目信息、具体地点、开业时间、商业面积以及精确的经度和纬度。万达广场不仅是商业地产开发的先行者,还以其成熟的商业模式、完善的产业链和丰富的商业资源,在全国范围内形成了独立的大型商圈。这些综合体集购物、餐饮、文化、娱乐等多种功能于一体,对提升城市商业档次、增加就业岗位、创造税收以及丰富群众消费需求等方面产生了显著的社会效益。数据集提供了420条样本,为研究中国区域经济发展特征及其未来趋势提供了宝贵的信息资源。
正在月下弹琴的古装美女flash场景动画.zip
理光 MP C8003 是一款彩色激光多功能数码复合机。 【基础性能】 打印复印速度:黑白和彩色打印 / 复印速度均可达 80 页每分钟,能够快速高效地完成大量文档的输出任务,有效提高工作效率 分辨率:拥有 1200x4800dpi 的高分辨率,可输出色彩鲜艳、细节丰富、图像清晰的文档和图像,满足专业级的打印和复印需求,尤其适合对色彩精度要求较高的设计图纸、宣传资料等文件的输出 首张输出时间:黑白首张复印时间为 4.7 秒,彩色首张复印时间为 6.3 秒,在启动打印或复印任务时无需长时间等待,可迅速响应,进一步提升工作效率 纸张容量:标准配置的纸张容量为单 2500 页抽屉和双 550 页抽屉,还可通过扩展将纸张容量从 3700 页提升至 8100 页,能够满足不同规模的打印任务需求,减少纸张添加的频率 【功能多样性】 多功能一体:集复印、打印、扫描、传真功能于一身,可满足办公室多样化的文档处理需求,一台设备即可替代多台单一功能的设备,节省空间和成本 扫描功能:具备高速扫描能力,可通过多种扫描至选项将原件扫描并以电子形式分发,支持将扫描后的文件直接发送至个人移动设备
《The Annotated Transformer》环境配置
深度学习大作业基于resnet50和vgg16卷积神经网络的汉字书法识别项目源码+训练集+测试集 操作步骤 将下载的训练集和测试集,解压到工程中 运行对应的data.py文件,进行转录,将原始数据集转录为numpy矩阵,生成data.npy及label.npy 运行对应的train.py进行训练 运行test.py使用训练完成的网络测试。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
代码