现在的位置: 首页 > 综合 > 正文

Flash player自定义右键菜单

2013年10月08日 ⁄ 综合 ⁄ 共 1218字 ⁄ 字号 评论关闭

之前写过一篇如何隐藏Flash player右键菜单的文章,其实人们更愿意的是自定义右键菜单,下面阐述一下相关的方法,其实就是ContextMenuItem类与CongtextMenu类

代码如下:

package
{
	import flash.display.Sprite;
	import flash.events.ContextMenuEvent;
	import flash.net.URLRequest;
	import flash.net.navigateToURL;
	import flash.ui.ContextMenu;
	import flash.ui.ContextMenuItem;
	
	/**
	 * ...
	 * @author aisajiajiao
	 */
	
	public class Main extends Sprite
	{
		private var menu:ContextMenu;
		private var menuItem1:ContextMenuItem;
		private var menuItem2:ContextMenuItem;
		
		public function Main()
		{
			//初始化菜单项,其中的文字是要显示在右键中
			menuItem1 = new ContextMenuItem("自定义");
			menuItem2 = new ContextMenuItem("你好,自定义右键菜单");
			
			//添加事件侦听,在用户右键点击菜单时出发相应的操作
			menuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onMenuItem1Click);
			menuItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onMenuItem2Click);
			
			menu = new ContextMenu();
			//必须要将自定义菜单项添加到ContextMenu菜单的customItems数组中
			menu.customItems.push(menuItem1);
			menu.customItems.push(menuItem2);
			//隐藏指定的 ContextMenu 对象中的所有内置菜单项(“设置”除外),其作用类似于stage.showDefaultContextMenu = false;
			menu.hideBuiltInItems();
			//将自定义菜单赋值给默认的菜单
			contextMenu = menu;
		}
		
		private function onMenuItem1Click(e:ContextMenuEvent):void
		{
			navigateToURL(new URLRequest("http://www.baidu.com"),"_target");
		}
		
		private function onMenuItem2Click(e:ContextMenuEvent):void
		{
			trace("自定义菜单");
		}
	}
}

设置完后截图如下:

抱歉!评论已关闭.