原文出处:http://twaver.servasoft.com/?p=3620
Flash Player 11.2新加了一个非常重要的特性:支持右键,具体参见:Flash Player 11.2 Beta Features
下面是在TWaver Flex的Network中使用右键菜单的效果,等了多少年的功能终于可以轻松实现了,不用再通过html的js脚本屏蔽右键菜单
了

需要注意几点:
1. 从这里
下载Flash Player 11.2以及playerglobal.swc
文件
2.
将下载的flashplayer11-2_p3_playerglobal_122011.swc文件改名为playerglobal.swc,并放入
SDK的相应目录中(Adobe Flash Builder
4.5/sdks/4.5.1/frameworks/libs/player/11.2):

3. 最好使用SDK 4.5或以上版本的SDK(SDK4.0之前不支持Flash Player 11)
4. 工程选项里Flash Player版本,需要设置为11.2
5. 工程选项里添加 -swf-version=15 编译选项

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:twaver="http://www.servasoftware.com/2009/twaver/flex"
applicationComplete="init()">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Menu;
import twaver.*;
private function init():void {
var box:ElementBox = new ElementBox();
var from:Node = new Node();
from.name = "From";
from.location = new Point(100, 100);
box.add(from);
var to:Node = new Node();
to.name = "To";
to.location = new Point(300, 300);
box.add(to);
var link:Link = new Link(from, to);
link.name = "From - To";
box.add(link);
network.elementBox = box;
network.addEventListener('rightClick', handleRighClick);
}
private var menu:Menu = null;
private function handleRighClick(e:MouseEvent):void {
var element:IElement = network.getElementByMouseEvent(e);
var myMenuData:ArrayCollection = new ArrayCollection([
{label: element == null ? "none" : element.name}
]);
if(menu != null){
menu.hide();
}
menu = Menu.createMenu(network, myMenuData, false);
var point:Point = network.globalToLocal(new Point(e.stageX, e.stageY));
menu.show(point.x, point.y);
}
]]>
</fx:Script>
<twaver:Network id="network" width="100%" height="100%" backgroundAlpha="0" backgroundColor="#FF0000"/>
</s:Application>
完整工程见附件:TestRightClick

- 大小: 9.8 KB

- 大小: 62.6 KB

- 大小: 32.7 KB
分享到:
相关推荐
标题提到的"Flash 11.2新功能,Flex屏蔽右击菜单"是指在使用Adobe Flash Player 11.2及Flex框架进行开发时,如何阻止用户通过鼠标右键点击在应用程序上弹出默认的上下文菜单,以及如何自定义自己的右键菜单。...
9.50 跳页菜单的实现... 300 9.51 在新窗口中打开网页... 302 9.52 取得文件字段中选取的 文件名称(包含路径) 303 9.53 取得文件字段中选取的 文件名称(不包含路径) 304 9.54 取得文件字段中选取文件的扩展名....
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip