自定义Flex右键菜单

隐藏系统自带右键菜单,增加自定义菜单,用到RightClickManager。实现如下:


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init()">

<mx:Script>
<![CDATA[
import mx.events.MenuEvent;
import mx.controls.Menu;
import com.siloon.plugin.rightClick.RightClickManager;

private var menu:Menu;

private function init():void{
//隐藏系统右键菜单
RightClickManager.regist();

//创建新右键菜单
this.addEventListener(RightClickManager.RIGHT_CLICK, rightClickHandler);
}

private function rightClickHandler(event:MouseEvent):void{
removeMenu();

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 removeMenu():void{
if(menu!=null){
menu.hide();
menu.removeEventListener(MenuEvent.ITEM_CLICK,menuItemClickHandler);
menu=null;
}
}

private function createMenuItems():Array{
var menuItems:Array = new Array();
var menuItem:Object;

menuItem = new Object;
menuItem.label = '菜单一';
menuItem.action = 'menu1ClickedAction';
menuItems.push(menuItem);

menuItem = new Object;
menuItem.label = '菜单二';
menuItem.action = 'menu2ClickedAction';
menuItems.push(menuItem);

return menuItems;
}

private function menuItemClickHandler(event:MenuEvent):void{
//TODO 增加菜单选择事件的响应

}



]]>
</mx:Script>


</mx:Application>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值