Flex学习记录(为菜单类控件创建事件处理函数)

为MenuBar 控件的itemClick 事件指定一个监听处理函数handleMenuClick 来处理菜单栏交
互点击。当用户选则一个菜单项的时候itemClick 事件就会被触发。监听函数会接收到作为
参数传来的MenuEvent 对象。MenuEvent 对象包含了发出该事件对象的菜单项的信息。
MenuEvent 对象的item 属性包含了dataProvider 中的一个对应独一菜单项的项的引用。代
码如下:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical">
<mx:MenuBar labelField="@label"
itemClick="handleMenuClick(event)">
	<mx:XMLList>
		<menuitem label="File">
			<menuitem label="New"/>
			<menuitem label="Open"/>
			<menuitem label="Close" enabled="false"/>
		</menuitem>
		<menuitem label="Edit"/>
		<menuitem label="Source"/>
		<menuitem label="View">
			<menuitem label="50%"
			type="radio" groupName="one"/>
			<menuitem label="100%"
			type="radio" groupName="one"
			selected="true"/>
			<menuitem label="150%"
			type="radio" groupName="one"/>
		</menuitem>
	</mx:XMLList>
</mx:MenuBar>
<mx:Label id="disp0_lbl"/>
<mx:Script>
	<![CDATA[
		import mx.events.MenuEvent;
		private function handleMenuClick(evt:MenuEvent):void {
		this.disp0_lbl.text = evt.item.@label + " was selected";
		}
	]]>
</mx:Script>
</mx:Application>

注意,因为dataProvider 使用了E4X 格式,所以例子使用了E4X 的语法@label 来接受label
属性。MenuBar 控件同事也支持其他的事件类型,例如
change,itemRollOut,itemRollOver,menuHide 以及menuShow.

你可能感兴趣的:(Flex)