现在的位置: 首页 > 综合 > 正文

Flex自定义鼠标右键

2013年06月10日 ⁄ 综合 ⁄ 共 2353字 ⁄ 字号 评论关闭
这里写了一个简单的自定义鼠标右键,代码不难,请看注释
 
其它的请大家参看官方文档  ContextMenu类 ContextMenuItem类
 
 
源码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="

http://www.adobe.com/2006/mxml


" layout="vertical"  verticalAlign="middle" horizontalAlign="center" creationComplete="init()">
    <mx:Script>
     <![CDATA[
     
         import flash.ui.ContextMenu;
         import flash.ui.ContextMenuItem;
         import flash.events.ContextMenuEvent;
        
        
         //在全局上定义四个菜单条目
      private var myMenuItem1:ContextMenuItem;
      private var myMenuItem2:ContextMenuItem;
      private var myMenuItem3:ContextMenuItem;
      private var myMenuItem4:ContextMenuItem;
      
      //开始初始化
      private function init():void
      {
       /* ContextMenuItem类的构造函数要传入几个参数,它们分别代表
          1 菜单项的名称
          2 在该菜单项上是否显示分隔条,默认是不显示
          3 是否可用,默认是可用的
          4 是否显示,默认是可显示的
        */
        myMenuItem1 = new ContextMenuItem('链接到谷歌',true);
        myMenuItem2 = new ContextMenuItem('链接到百度',true);
        myMenuItem3 = new ContextMenuItem('链接到搜狐体育',true);
        myMenuItem4 = new ContextMenuItem('链接到汽车之家',true);
       
       
        //添加事件侦听,以此来进行相应的逻辑实现
        myMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
        myMenuItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
        myMenuItem3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
        myMenuItem4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
       
       
        //创建个性化的菜单
        var myMenu:ContextMenu = new ContextMenu();
        myMenu.customItems.push(myMenuItem1);
        myMenu.customItems.push(myMenuItem2);
        myMenu.customItems.push(myMenuItem3);
        myMenu.customItems.push(myMenuItem4);
       
       
        //如果要隐藏默认的菜单项,可以这样设置
        myMenu.hideBuiltInItems();
        //这样是整个舞台都可以显示出相应的右键菜单
        this.contextMenu = myMenu;
      }



   //导航逻辑
   private function menuItemHandler(event:ContextMenuEvent):void
   {
    switch (event.target)
    {
     case myMenuItem1:
     navigateToURL(new URLRequest('http://www.google.cn/'));
     break;
     
     case myMenuItem2:
     navigateToURL(new URLRequest('http://www.baidu.com/'));
     break;
     
     case myMenuItem3:
     navigateToURL(new URLRequest('http://sports.sohu.com/'));
     break;
     
     case myMenuItem4:
     navigateToURL(new URLRequest('http://www.autohome.com.cn/'));
     break;
    }
   }
  ]]>
    </mx:Script>
 <mx:TextInput text="可在舞台任何地方右击菜单" fontSize="13"/>
</mx:Application>

抱歉!评论已关闭.