code address:http://code.google.com/p/rightclickmanager/
使用方法:
1、将上面地址中RightClickManager类文件添入flex项目
2、修改index.template.html模版文件,在AC_FL_RunContent函数调用中添加"wmode", "opaque",参数
此参数对某些输入法可能产生不良后果,如对输入操作要求很高,请放弃屏蔽flash右键菜单的想法
3、项目主程序creationComplete事件处理中(当然也可以在其他地方):
RightClickManager.regist();
4、在需要弹右键的控件上 添加侦听
this.addEventListener(RightClickManager.RIGHT_CLICK,rightClickHandler);
5、实现rightClickHandler 完成菜单的创建和弹出
部分代码:
override protected function rightClickHandler(event:MouseEvent):void
{
menu = new Menu();
menu = Menu.createMenu(this, createMenuItems(), false);
menu.labelField="label"
menu.variableRowHeight = true;
menu.addEventListener(MenuEvent.ITEM_CLICK, menuItemClickHandler);
var point:Point = new Point(mouseX,mouseY);
point = localToGlobal(point);
menu.show(point.x,point.y);
}
private function createMenuItems():Array
{
var menuItems:Array = new Array();
var menuItem:Object;
menuItem = new Object;
menuItem.label = '清空画布';
menuItem.action = 'clearAll';
menuItems.push(menuItem);
menuItem = new Object;
menuItem.label = '选择背景';
menuItem.action = 'selectBackImage';
menuItems.push(menuItem);
return menuItems;
}