本文和大家重点讨论一下如何添加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;
- }
还有当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("关闭所有窗口!");
- }
- }
这样我们就可以根据自己的实际情况来实现这个Flex右键菜单点击后的效果了。
【编辑推荐】