加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Flash Player 11.2的新功能实现右键菜单

发布时间:2020-12-15 06:28:06 所属栏目:百科 来源:网络整理
导读:? 原文出处:http://twaver.servasoft.com/?p=3620 Flash Player 11.2新加了一个非常重要的特性:支持右键,具体参见:Flash Player 11.2 Beta Features 下面是在TWaver Flex的Network中使用右键菜单的效果,等了多少年的功能终于可以轻松实现了,不用再通过

? 原文出处: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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读