之前写过一篇如何隐藏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("自定义菜单");
}
}
}
