当前位置: 首页 > news >正文

Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)...

Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)

播放器 版本 11.2以后支持右键菜单屏蔽及自定义菜单 1.更新播放器 ,11.2 以上版本

http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swc
http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_4.swc
http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_2.swc
http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_5.swc

2.编译器参数设置-swf-version=15(见图)

  1. 自定义 菜单,并设置相应的菜单事件 (Flex代码)
<?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.controls.Button;
 import mx.controls.Menu;
 import mx.events.MenuEvent;
 import mx.controls.Alert;

 private var menu:Menu = null;
 private var bt:Button = new Button();

 private function init():void {
 bt.label = "走你~";
 network.addElement(bt);
 network.addEventListener(MouseEvent.RIGHT_CLICK,handleRighClick);//监听右键
 }
 private function handleRighClick(e:MouseEvent):void {

 if(menu != null){
 menu.hide();
 }
 menu = Menu.createMenu(network, myMenuData, false);//myMenuData菜单数据源
 menu.labelField = "@label";//右键菜单的文字

 var point:Point = network.globalToLocal(new Point(e.stageX, e.stageY));
 menu.show(point.x, point.y);
 menu.addEventListener(MenuEvent.ITEM_CLICK,menuItemClickHandler); //菜单事件
 }

 private function menuItemClickHandler(evt:MenuEvent):void{
 Alert.show(evt.item.@eventName) //将事件名显示出来
 }
 ]]>
 </fx:Script>
 <fx:Declarations>
 <fx:XML id="myMenuData">
 <root label="MenuItem 1" >
 <menuitem label="new" eventName="new" />
 <menuitem label="refreash" eventName="refreash" />
 <menuitem label="remove" eventName="remove" />
 </root>

 </fx:XML>
 </fx:Declarations>
 <s:Group id="network" width="100%" height="100%" />
</s:Application>

相关文章:

  • vue-cli脚手架 搭建项目
  • 玩转无线电 -- 温哥华天车 RFID 票务系统
  • 前端常见的linux指令
  • [转]CentOS-6.3安装配置SVN
  • leetcode 205. Isomorphic Strings
  • node的安装
  • Sqlserver2008相关配置问题
  • node 模块简述--内置fs http ---自定义模块
  • ppt 制作海报 导出高分辨率图片
  • 数组常见的方法
  • 数据结构-C语言递归实现树的前中后序遍历
  • 核心动画(Core Animation)
  • url模块 和 querystring模块
  • APP开发的一些简单流程思路
  • querystring 查询字符串模块
  • 「面试题」如何实现一个圣杯布局?
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 03Go 类型总结
  • CentOS6 编译安装 redis-3.2.3
  • co模块的前端实现
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript的使用你知道几种?(上)
  • js作用域和this的理解
  • mysql外键的使用
  • nodejs实现webservice问题总结
  • python学习笔记 - ThreadLocal
  • rabbitmq延迟消息示例
  • Swoft 源码剖析 - 代码自动更新机制
  • WebSocket使用
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 关于List、List?、ListObject的区别
  • 坑!为什么View.startAnimation不起作用?
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 如何用vue打造一个移动端音乐播放器
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 协程
  • k8s使用glusterfs实现动态持久化存储
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)PySpark3:SparkSQL编程
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (转) Android中ViewStub组件使用
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .net core控制台应用程序初识
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .netcore 获取appsettings