一个完整的Flex菜单的例子包括了事件的处理

 

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" >
	<fx:Declarations>
		<!--xml 方式将root不显示需要设置MenuBar的showRoot属性为false-->
		<fx:XML format="e4x" id="myMenuData">
			<root >
				<menuitem label="MenuItem A" icon="myTopIcon">
					<menuitem label="SubMenuItem A-1" enabled="False" fun="copy"/>
					<menuitem label="SubMenuItem A-2"  fun="open"/>
				</menuitem>
				<menuitem label="MenuItem B" type="check" toggled="true"/>
				<menuitem label="MenuItem C" type="check" toggled="false" icon="myTopIcon"/>
				<menuitem type="separator"/> 
				<menuitem label="MenuItem D" icon="myTopIcon">
					<menuitem label="SubMenuItem D-1" type="radio" groupName="one"/>
					<menuitem label="SubMenuItem D-2" type="radio" groupName="one" toggled="true"/>
					<menuitem label="SubMenuItem D-3" type="radio" groupName="one"/>
				</menuitem>
			</root>
		</fx:XML>
		
		<!--使用xmlList数据源方式-->
		
		<fx:XMLList id="arr">
			<menuitem label="MenuItem A" icon="myTopIcon">
				<menuitem label="SubMenuItem A-1" enabled="False"/>
				<menuitem label="SubMenuItem A-2"  eventName="copy"/>
			</menuitem>
			<menuitem label="MenuItem B" type="check" toggled="true"/>
			<menuitem label="MenuItem C" type="check" toggled="false" icon="myTopIcon"/>
			<menuitem type="separator"/> 
			<menuitem label="MenuItem D" icon="myTopIcon">
				<menuitem label="SubMenuItem D-1" type="radio" groupName="one"/>
				<menuitem label="SubMenuItem D-2" type="radio" groupName="one" toggled="true"/>
				<menuitem label="SubMenuItem D-3" type="radio" groupName="one"/>
			</menuitem>
		</fx:XMLList>
	</fx:Declarations>
	
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.FlexEvent;
			import mx.events.MenuEvent;
			[Bindable]
			public var menuArray:Array = [
				{label:"menuI",children:[
					{label:"menuI-I",enabled:false},
					{label:"menuI-II",enabled:true,type:"normal"}
				]
				},
				{label:"menuII",toggled:false},
				{label:"menuIII",toggled:true},
			];
			
			
			private function menuHandler(evt:MenuEvent):void  {
				this.callLater(this[evt.item.@fun]);
			}
			
			private function open():void  {
				Alert.show("call open command");
			}
			
			private function copy():void  {
				Alert.show("call copy command");
			}
			
		]]>
	</fx:Script>
	
	
	<mx:MenuBar id="myMenu" x="110" y="40" width="571" height="24"  
				dataProvider="{myMenuData}" labelField="@label"
				itemClick="menuHandler(event)"
			    showRoot="false" >
	</mx:MenuBar>
</s:Application>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值