技术分享 添加FLex右键菜单的方法

本文和大家重点讨论一下如何添加Flex右键菜单,Adobe的Flex本身是不提供Flex右键菜单的,但是我们可以在里面增加一些自己的东西,下面就向大家简单介绍一下添加FLex右键菜单的方法。

Flex右键菜单

Adobe的Flex本身是不提供Flex右键菜单的,大家也知道在flash文件上点击右键会出现flash设置的右键菜单,但是我们可以在里面增加一些自己的东西,下面我们就开始做一个例子

Flex的包里提供了ContextMenu这个类我们可以利用这个类来达到我们想要的效果。

◆下面是一个添加FLex右键菜单的方法:
 

 
 
 
  1. privatefunctionshowContextMenu():void{  
  2. varmyContextMenu:ContextMenu=newContextMenu();  
  3. varGoUrl1:ContextMenuItem=newContextMenuItem("关闭当前窗口");  
  4. GoUrl1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,closeContextMenu);  
  5. varGoUrl2:ContextMenuItem=newContextMenuItem("关闭所有当前窗口除外");  
  6. GoUrl2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,closeContextMenu);  
  7. varGoUrl3:ContextMenuItem=newContextMenuItem("关闭所有窗口");  
  8. GoUrl3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,closeContextMenu);  
  9. myContextMenu.customItems.push(GoUrl1);  
  10. myContextMenu.customItems.push(GoUrl2);  
  11. myContextMenu.customItems.push(GoUrl3);  
  12. myContextMenu.hideBuiltInItems();  
  13. this.contextMenu=myContextMenu;  
  14. }  

 还有当Flex右键菜单里的每一项点击后我们要做一些事情。

◆下面的方法就是当菜单点击后触发的方法。
 

 
 
 
  1. privatefunctioncloseContextMenu(event:ContextMenuEvent):void  
  2. {  
  3. if(event.currentTarget.caption=="关闭当前窗口"){  
  4. for(i=0;i<navChild.length;i++){  
  5. Alert.show("点击了关闭当前窗口!");  
  6. }  
  7. }elseif(event.currentTarget.caption=="关闭所有当前窗口除外"){  
  8. Alert.show("关闭所有当前窗口除外!");  
  9. }else{  
  10. Alert.show("关闭所有窗口!");  
  11. }  
  12. }  

这样我们就可以根据自己的实际情况来实现这个Flex右键菜单点击后的效果了。

【编辑推荐】

  1. 学习笔记 创建Flex右键菜单
  2. Flex开发者必须知道的10件事
  3. 技术前沿 看Flex客户端缓存技术如何使用
  4. 12个Flex常用功能代码再现
  5. 学习笔记 Flex国际化如何支持其他语言
THE END