`
raymond.chen
  • 浏览: 1437105 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

菜单(Menu)的使用

阅读更多

一、菜单项的属性

     1、label:菜单项名称。

     2、type:菜单项类型。包括:normal、check、radio、separator。

     3、enabled:菜单项是否可用,true or false。

     4、toggled:当菜单项选中时返回true,否则,返回false。当type属性值为check或radio时有效。

     5、groupName:在type属性值为radio时使用该属性,类似于radioButton组件中的groupName。

     6、icon:菜单项的图标。

 

二、菜单控件(Menu Control)

      菜单控件通常是在用户交互事件后弹出,所以没有MXML标签与之对应,只能通过ActionScript定义。

      源码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.events.MenuEvent;
			import mx.controls.Menu;
            
			private var menuData: Array = [
				{label: "menu1", children:[
					{label: "menu1-1", enabled: false},
					{label: "menu1-2", type: "normal"}
				]},
				{label: "menu2", type: "check", toggled: true, data: "data"},
				{label: "menu3", type: "check", toggled: false},
				{label: "menu4", type: "separator"},
				{label: "menu5", children:[
					{label: "menu5-1", type: "radio", groupName: "g1"},
					{label: "menu5-2", type: "radio", groupName: "g1", toggled: true},
					{label: "menu5-3", type: "radio", groupName: "g1"}
				]}
			];

			private function createAndShow():void{
				var mnu: Menu = Menu.createMenu(null, menuData, false); //创建菜单控件实例
				mnu.addEventListener(MenuEvent.ITEM_CLICK, menuItemClick);//为菜单控件添加事件监听及处理
				mnu.show(btn1.x, btn1.y+btn1.height);//现实菜单
			}

			private function menuItemClick(event: MenuEvent):void{
				Alert.show(event.item.label + "\n" + event.item.data);
			}
		]]>
	</mx:Script>
	
	<mx:Button id="btn1" x="10" y="189" label="菜单控件例子" click="createAndShow()" fontSize="12"/>
	
</mx:Application>

 

 

三、菜单栏控件(MenuBar Control)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.MenuEvent;
			import mx.controls.Menu;

			private function menubarItemClick(event: MenuEvent):void{
				if(event.item.@data != "top"){
					Alert.show(event.item.@label + ", " + event.item.@data);
				}
			}
		]]>
	</mx:Script>
	
	<mx:Panel x="10" y="10" width="296" height="158" layout="absolute" title="MenuBar控件例子" fontSize="12">
		<mx:MenuBar x="10" y="10" width="202" fontSize="12" labelField="@label" showRoot="false" itemClick="menubarItemClick(event)">
			<mx:XMLList xmlns="">
				<menu label="文件" data="top">
					<menu label="新建" data="new"/>
					<menu label="打开" data="open"/>
					<menu label="导出" data="top">
						<menu label="导出Html" type="radio" groupName="exp" toggled="true" data="html"/>
						<menu label="导出Excel" type="radio" groupName="exp" data="excel"/>
						<menu label="导出Pdf" type="radio" groupName="exp" data="pdf"/>
						<menu label="导出Word" type="radio" groupName="exp" data="word"/>
					</menu>
					<menu type="separator"/>
					<menu label="关闭" data="close"/>
				</menu>
				<menu label="编辑" data="top">
					<menu label="剪切" data="cut"/>
					<menu label="复制" data="copy"/>
					<menu label="粘贴" data="paste"/>
					<menu type="separator"/>
					<menu label="删除" data="delete"/>
				</menu>
			</mx:XMLList>
		</mx:MenuBar>
	</mx:Panel>
</mx:Application>

 

 

三、弹出式按钮菜单控件(PopUpMenuButton Control)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.MenuEvent;
			import mx.controls.Menu;
			
			[Bindable]
			private var data2: Array = [
				{label: "menu1", data: "data1"},
				{label: "menu2", data: "data2"},
				{label: "menu3", data: "data3"},
				{label: "menu4", data: "data4"},
				{label: "menu5", data: "data5"}
			];
			
			private function click1(event:MenuEvent):void{
				Alert.show(event.index + "\n" + event.item.label + "\n" + event.item.data);
			}
		]]>
	</mx:Script>
	
	<mx:PopUpMenuButton id="p1" x="367" y="183" 
		label="PopUpMenu" 
		icon="@Embed(source='images/msg.png')" 
		width="143" 
		fontSize="12" 
		dataProvider="{data2}"
		itemClick="click1(event)"/>
	
</mx:Application>

 

  • 大小: 9.1 KB
  • 大小: 14.2 KB
  • 大小: 7.9 KB
分享到:
评论

相关推荐

    PB动态生成菜单MENU OBJECT

    根据提供的标题“PB动态生成菜单 MENU OBJECT”以及描述“PB动态生成菜单MENU OBJECT,这看似简单的一句话其实包含了三层含义”,我们可以将该主题细分为三个主要的技术点进行详细阐述: #### 1. 理解 PowerBuilder...

    NavMenu菜单控件

    开发者在使用NavMenu时,首先需要了解控件的安装和引入方法,然后根据需求配置菜单项和结构。同时,理解控件提供的事件和回调函数是关键,这可以帮助实现与用户的交互逻辑。此外,熟练掌握样式调整也是必不可少的,...

    菜单menu的基本使用

    在Android开发中,菜单(Menu)是用户界面的重要组成部分,它为用户提供了一种访问应用程序功能的便捷方式。在本文中,我们将深入探讨Android菜单的基本使用,这对于初学者来说是一份非常实用的指南。 首先,让我们...

    android menu菜单距中显示

    在Android系统中,`Menu`通常出现在活动(Activity)的顶部作为选项菜单,或者在底部弹出作为上下文菜单。在“android menu菜单距中显示”的主题下,我们将深入探讨如何实现`Menu`居中显示,以及与此相关的Android...

    Android初级入门——菜单Menu的简单使用

    在本文中,我们将深入探讨Android初级入门时如何简单地使用菜单Menu。 首先,菜单在Android中的主要用途是为用户提供应用程序的主要操作选项,这些选项通常在屏幕的顶部或者在动作栏(Action Bar)中显示。菜单可以...

    DropDownMenu下拉菜单

    《DropDownMenu下拉菜单:实现优雅的交互设计》 在软件开发中,用户界面的设计至关重要,其中下拉菜单(DropDownMenu)是一种常见的交互元素,它能够有效地节省屏幕空间,同时提供丰富的选择项,使得用户操作更为...

    LCD多级菜单显示Menu.rar_LCD 列表 显示_LCDdriver_lcd 菜单_lcd显示菜单_菜单

    在这里,我们提到的“Menu”项目可能是一个实现多级菜单的软件框架,它采用了链表结构来存储和管理菜单项。链表结构允许动态添加、删除和修改菜单项,且易于扩展,适合多级菜单的灵活构建。移植性强意味着这个框架...

    ASP.NET 自定义菜单MENU控件

    `NavMenu`可能是这个自定义菜单控件的主要实现类或者命名空间,而`NavMenu.Test`则可能包含测试代码,用于验证控件的正确性和性能。通过测试代码,开发者可以了解如何使用这个控件,以及它能实现的各种功能。例如,...

    Android 按Menu弹出菜单

    在这个XML文件中,我们可以使用`&lt;menu&gt;`标签作为根元素,然后用`&lt;item&gt;`标签来定义每个菜单项,包括其ID、标题、图标以及可能的快捷键等属性。 ```xml &lt;menu xmlns:android=...

    DropDownMenu下拉菜单改进版

    一个设计得当且易于使用的下拉菜单能够极大地提升用户的操作体验。本文将围绕"DropDownMenu下拉菜单改进版"这一主题,深入探讨如何通过优化代码实现更简洁、更美观的下拉菜单功能。 首先,"DropDownMenu下拉菜单...

    android menu菜单使用

    本文将详细介绍如何在Android中创建和使用Menu菜单,尤其适合初学者。 首先,要使用Android菜单,我们需要在布局文件(如`activity_main.xml`)中不直接添加菜单元素,因为菜单通常在活动中动态生成。菜单的定义...

    单片机菜单架构源码_单片机_Menu_菜单_

    5. **内存优化**:单片机的内存资源有限,因此菜单设计应尽可能节省内存,例如使用动态内存分配策略,或者预先定义好固定的菜单结构。 6. **电源管理**:在低功耗应用中,菜单系统应考虑如何降低功耗,比如休眠模式...

    【ASP.NET编程知识】Element NavMenu导航菜单的使用方法.docx

    ASP.NET 编程知识 - Element NavMenu 导航菜单的使用方法 ASP.NET 是一个基于 Microsoft .NET Framework 的 Web 应用程序框架,它提供了许多强大且灵活的功能,帮助开发者快速构建高效、可扩展的 Web 应用程序。在 ...

    Android 创建菜单Menu

    本篇将深入探讨如何在Android中创建和使用Menu,以及相关源码分析。 首先,让我们了解Menu的基本结构。在Android中,Menu由`Menu`接口表示,它包含一系列的`MenuItem`对象。每个`MenuItem`代表一个可点击的选项,...

    仿优酷菜单 menu

    仿优酷菜单 menu 优酷 菜单 menu

    android Menu 菜单

    在`menu.xml`中,可以使用`group`元素对菜单项进行分组,这样可以方便地控制分组内的菜单项的显示顺序和可见性。 ### 动态改变Menu 在运行时,我们可以调用`Menu`对象的`add()`, `removeItem()`, `setVisible()`, `...

    grub4dos菜单编辑器 grubfordos菜单编辑器 学习grub4dos菜单编辑的利器 启动u盘制作时必备 menu.lst菜单编辑器 menu.lst编辑器

    grub4dos菜单编辑器 grubfordos菜单编辑器 学习grub4dos菜单编辑的利器 menu.lst菜单编辑器 menu.lst编辑器 它是用grub4dos引导学习menu.lst最好的方式 希望对大家有帮助 杀毒软件会报毒,但是大家不必担心无任何...

    使用Struts-menu轻松实现网页菜单.doc

    ### 使用Struts-menu实现网页菜单的关键知识点 #### Struts-menu简介 Struts-menu是一个基于Apache Struts框架的扩展,用于简化网页菜单的创建与管理。它不仅提供了多种样式的菜单,如下拉菜单(`DropDownMenu`)、...

    Element-Ui组件 NavMenu 导航菜单的具体使用

    本文来源于Element官方文档: ...基础用法 普通导航菜单 &lt;el default-active=activeIndex class=el-menu-demo mode=horizontal select=handleSelect&gt; 处理中心 我的工作台&lt;/templat

    asp.net 菜单 menu

    menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000;width:150px; height:30px; text-align:center; color:#fff; border-bottom:1px solid #FFF; background:#0069A3; line-...

Global site tag (gtag.js) - Google Analytics