本文和大家重点讨论一下如何添加Flex右键菜单,Adobe的Flex本身是不提供Flex右键菜单的,但是我们可以在里面增加一些自己的东西,下面就向大家简单介绍一下添加FLex右键菜单的方法。
Flex右键菜单
Adobe的Flex本身是不提供Flex右键菜单的,大家也知道在flash文件上点击右键会出现flash设置的右键菜单,但是我们可以在里面增加一些自己的东西,下面我们就开始做一个例子
Flex的包里提供了ContextMenu这个类我们可以利用这个类来达到我们想要的效果。
◆下面是一个添加FLex右键菜单的方法:
复制
privatefunctionshowContextMenu():void{ varmyContextMenu:ContextMenu=newContextMenu(); varGoUrl1:ContextMenuItem=newContextMenuItem("关闭当前窗口"); GoUrl1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,closeContextMenu); varGoUrl2:ContextMenuItem=newContextMenuItem("关闭所有当前窗口除外"); GoUrl2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,closeContextMenu); varGoUrl3:ContextMenuItem=newContextMenuItem("关闭所有窗口"); GoUrl3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,closeContextMenu); myContextMenu.customItems.push(GoUrl1); myContextMenu.customItems.push(GoUrl2); myContextMenu.customItems.push(GoUrl3); myContextMenu.hideBuiltInItems(); this.contextMenu=myContextMenu; }
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
还有当Flex右键菜单里的每一项点击后我们要做一些事情。
◆下面的方法就是当菜单点击后触发的方法。
复制
privatefunctioncloseContextMenu(event:ContextMenuEvent):void { if(event.currentTarget.caption=="关闭当前窗口"){ for(i=0;i<navChild.length;i++){ Alert.show("点击了关闭当前窗口!"); } }elseif(event.currentTarget.caption=="关闭所有当前窗口除外"){ Alert.show("关闭所有当前窗口除外!"); }else{ Alert.show("关闭所有窗口!"); } }
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
这样我们就可以根据自己的实际情况来实现这个Flex右键菜单点击后的效果了。
【编辑推荐】