Flex上下文菜单的实现

今天在<精通Flex3.0>这本书看到一个很好的实例上下文菜单的例子,反正没什么事就自己动手敲了一下,现在把它保存在这里,方便自己以后学习和使用,哈哈!!!!

下面是代码:

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

 <mx:Script>
  <![CDATA[
   import mx.events.MenuEvent;
   import flash.geom.Point;
   import mx.controls.Menu;
   import mx.controls.Alert;
   import flash.events.MouseEvent;
   
   private var myMenu:Menu;
   private var point:Point = new Point();
   
   private function init():void{
    source_txa.addEventListener(MouseEvent.CLICK,showMenu);
   }
   
   private function showMenu(evt:MouseEvent):void{
    myMenu = Menu.createMenu(panel,myMenuData,false);
    myMenu.labelField = "@label";
    myMenu.addEventListener("itemClick",menuHandler);
    point.x = evt.stageX;
    point.y = evt.stageY;
    myMenu.show(point.x,point.y);
   }
   private function menuHandler(evt:MenuEvent):void{
    var searchRequest:URLRequest;
    if(evt.item.@eventName == "delete"){
     source_txa.text = "";
    }else if(evt.item.@eventName == "baidu"){
     searchRequest = new URLRequest("http://www.baidu.com/baidu?word="+source_txa.text);
     navigateToURL(searchRequest);
    }else if(evt.item.@eventName == "google"){
     searchRequest = new URLRequest("http://www.google.cn/search?q="+source_txa.text);
     navigateToURL(searchRequest);
    }
   }
  ]]>
 </mx:Script>
 <mx:XML id="myMenuData">
  <root>
   <menuitem label="删除" eventName="delete"/>
   <menuitem label="搜索" eventName="search">
    <menuitem label="使用百度" eventName="baidu"/>
    <menuitem label="使用google" eventName="google"/>
   </menuitem>
  </root>
 </mx:XML>
 <mx:Panel id="panel">
  <mx:Form>
   <mx:FormHeading label="弹出菜单演示"/>
   <mx:FormItem label="说明">
    <mx:TextArea id="source_txa" editable="false" selectable="false" text="Flex入门">
    </mx:TextArea>
   </mx:FormItem>
  </mx:Form>
 </mx:Panel>
</mx:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值