Flex 菜单效果

Flex的菜单大致有三种形式:菜单控件(Menu),菜单栏控件(MenuBar),弹出式按钮菜单控件(PopUpButtonMenu

Menu 控件创建可分别选择的选项的弹出菜单,此弹出菜单类似于大多数软件应用程序中的文件编辑菜单。弹出菜单可以具有所需的任何数目的子菜单级别。打开 Menu 控件后,此控件将一直可见,直到通过下列任一操作将其关闭:

  • 调用 Menu.hide() 方法。
  • 用户选择已启用的菜单项。
  • 用户在 Menu 控件外部单击。
  • 用户选择该应用程序中的其他组件。

Menu 类没有对应的 MXML 标签。必须使用 ActionScript 创建它。下面就是一个简单的例子,单击按钮后酒后弹出菜单。

对于这三种菜单的详细介绍请看API

<?xml version="1.0"?>

<!-- binding/SimpleObjectBinding.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();" >

    <mx:Script>

       <![CDATA[

           import mx.controls.Button;

           private var myMenu:Menu;

           import mx.controls.Menu; //引入菜单

           import mx.events.MenuEvent;  //引入菜单事件

           private var menuPoint:Point=new Point();

           public var menu:XML;

           public function showMenu():void{

              menu=

              <root>

                  <menuitem itemShowName="发消息" eventName="message"/>

                  <menuitem itemShowName="联系人信息" eventName="contactInfo"/>

                  <menuitem itemShowName="修改备注姓名" eventName="insertNote"/>

                  <menuitem itemShowName="移动到" eventName="moveTo" />

                  <menuitem itemShowName="添加进黑名单" eventName="intoBlack"/>

                  <menuitem itemShowName="删除好友" eventName="deleteUser"/>

              </root>

              this.myMenu=Menu.createMenu(this,menu,false);

                  myMenu.labelField="@itemShowName"

                  myMenu.addEventListener("itemClick", menuHandler);

                  menuPoint.x=b.mouseX;

                  menuPoint.y=b.mouseY;

                  menuPoint=b.localToGlobal(menuPoint);

                  myMenu.show(menuPoint.x, menuPoint.y); //在鼠标处(通过坐标计算得到)显出菜单

           }

           public function menuHandler():void{

             

           }

       ]]>

    </mx:Script>

    <mx:Button id="b" label="Change myObj" click="showMenu()"/>

</mx:Application>

 

 

 

你可能感兴趣的:(function,Flex,application,import,actionscript,menu)