window.runtime 属性window.runtime.flash.display.NativeMenu
继承NativeMenu Inheritance EventDispatcher Inheritance Object

NativeMenu 类包含用于定义菜单的方法和属性。

AIR 支持以下菜单:

Menu实例功能测试支持平台默认提供?
应用程序” NativeApplication.nativeApplication.menu NativeApplication.supportsMenu Mac OS X
窗口 NativeWindow.menu NativeWindow.supportsMenu Windows
停靠图标 NativeApplication.nativeApplication.icon.menu NativeApplication.supportsDockIcon Mac OS X
系统任务栏图标 NativeApplication.nativeApplication.icon.menu NativeApplication.supportsSystemTrayIcon Windows
上下文 InteractiveObject.contextMenu 始终支持全部
弹出菜单任何 NativeMenu 实例始终支持全部

菜单可以包含命令项、子菜单项和分隔线项。菜单项是使用 addItem()addItemAt()addSubmenu()addSubmenuAt() 方法添加到菜单中的。菜单项的显示顺序与菜单项在菜单的 items 数组中的顺序相符。

子菜单是通过父菜单的匹配菜单项的 submenu 属性附加到其父菜单的。窗口和应用程序菜单的根菜单必须只包含子菜单项;没有子菜单的项目可能不予显示,它们与用户对这些菜单类型的预期相反。

当选择了菜单中的命令项或其子菜单之一时,菜单将调度 select 事件。(子菜单和分隔符项不可选择。)事件对象的 target 属性将引用所选项目。

在显示菜单的前一刻,菜单将调度 displaying 事件。您可以根据应用程序的当前状态使用此事件来更新菜单内容。

注意:您可用使用 NativeMenu 或 ContextMenu 对象来设置上下文菜单。Flash Player 仅支持 ContextMenu 类,不支持 NativeMenu 类。

另请参见

NativeMenuItem
NativeWindow.menu
DockIcon
SystemTrayIcon
NativeApplication.menu
NativeApplication.icon


属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  items : Array
此菜单中 NativeMenuItem 对象的数组。
NativeMenu
  numItems : int
[只读 (read-only)] 此菜单中 NativeMenuItem 对象的数量。
NativeMenu
  parent : NativeMenu
[只读 (read-only)] 父菜单。
NativeMenu
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
  
在菜单底部添加一个菜单项。
NativeMenu
  
在指定位置插入一个菜单项。
NativeMenu
  
addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem
通过插入新菜单项,在菜单中添加子菜单。
NativeMenu
  
addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem
通过在指定位置插入新菜单项,在菜单中添加子菜单。
NativeMenu
  
创建菜单和所有项目的副本。
NativeMenu
  
报告此菜单是否包含指定的菜单项。
NativeMenu
 Inherited
dispatchEvent(event:Event):Boolean
将事件调度到事件流中。
EventDispatcher
  
display(stage:Stage, stageX:Number, stageY:Number):void
在指定位置弹出此菜单。
NativeMenu
  
获取指定索引处的菜单项。
NativeMenu
  
获取具有指定名称的菜单项。
NativeMenu
  
获取指定项目的位置。
NativeMenu
 Inherited
hasEventListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。
Object
 Inherited
isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。
Object
  
从菜单中删除所有项目。
NativeMenu
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
删除指定的菜单项。
NativeMenu
  
删除并返回指定索引处的菜单项。
NativeMenu
  
将菜单项移到指定位置。
NativeMenu
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。
Object
 Inherited
toString():String
返回指定对象的字符串表示形式。
Object
 Inherited
valueOf():Object
返回指定对象的原始值。
Object
 Inherited
willTrigger(type:String):Boolean
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
 InheritedFlash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时调度。EventDispatcher
 InheritedFlash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时调度。EventDispatcher
  在显示菜单的前一刻由此 NativeMenu 对象调度。NativeMenu
  在选择其菜单项之一或其后代子菜单之一中的项目时由此 NativeMenu 对象调度。NativeMenu
属性详细信息
items属性
items:Array  [读写]

此菜单中 NativeMenuItem 对象的数组。

数组按显示顺序排序。

numItems属性 
numItems:int  [只读 (read-only)]

此菜单中 NativeMenuItem 对象的数量。

parent属性 
parent:NativeMenu  [只读 (read-only)]

父菜单。

根(顶级)菜单对象的 parentnull

方法详细信息
addItem()方法
function addItem(item:NativeMenuItem):NativeMenuItem

在菜单底部添加一个菜单项。

参数

item:NativeMenuItem — 要在菜单底部添加的 NativeMenuItem 对象。

返回
NativeMenuItem
addItemAt()方法 
function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem

在指定位置插入一个菜单项。

参数

item:NativeMenuItem — 要插入的 NativeMenuItem 对象。
 
index:int — 菜单中要插入该菜单项的位置(从 0 开始)。

返回
NativeMenuItem

引发
ArgumentError — 如果 itemnull
 
RangeError — 如果 index 位于菜单的 items 数组的范围以外。
addSubmenu()方法 
function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem

通过插入新菜单项,在菜单中添加子菜单。

调用 addSubMenu() 方法等效于创建一个新菜单项、将其添加到菜单,并将 NativeMenu 对象分配给该项目的 submenu 属性。

参数

submenu:NativeMenu — 定义要添加的子菜单的 NativeMenu 对象。
 
label:String — 要添加的菜单项的显示标签.

返回
NativeMenuItem — 为该子菜单创建的 NativeMenuItem 对象。
addSubmenuAt()方法 
function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem

通过在指定位置插入新菜单项,在菜单中添加子菜单。

调用 addSubMenuAt() 方法等效于创建一个新菜单项、将其插入到菜单中需要的位置,并将 NativeMenu 对象分配给该项目的 submenu 属性。

参数

submenu:NativeMenu — 定义要添加的子菜单的 NativeMenu 对象。
 
index:int — 此菜单的 items 数组中要插入将添加的菜单项的位置.
 
label:String — 要添加的菜单项的显示标签.

返回
NativeMenuItem — 为该子菜单创建的 NativeMenuItem 对象。
clone()方法 
function clone():NativeMenu

创建菜单和所有项目的副本。

返回
NativeMenu
containsItem()方法 
function containsItem(item:NativeMenuItem):Boolean

报告此菜单是否包含指定的菜单项。

参数

item:NativeMenuItem — 要查找的 NativeMenuItem 对象.

返回
Boolean — 如果 item 位于此菜单中,则为 true.
display()方法 
function display(stage:Stage, stageX:Number, stageY:Number):void

在指定位置弹出此菜单。

参数

stage:Stage — 要在其上显示此菜单的 Stage 对象。
 
stageX:Number — 相对于要显示此菜单的舞台原点的水平像素数。
 
stageY:Number — 相对于要显示此菜单的舞台原点的垂直像素数。

getItemAt()方法 
function getItemAt(index:int):NativeMenuItem

获取指定索引处的菜单项。

参数

index:int — 要返回的项目的位置(从 0 开始)。

返回
NativeMenuItem — 位于菜单中指定位置的 NativeMenuItem 对象。

引发
RangeError — 如果 index 位于此菜单的 items 数组的范围以外。
getItemByName()方法 
function getItemByName(name:String):NativeMenuItem

获取具有指定名称的菜单项。

注意:默认情况下不分配菜单项的 name 属性。

参数

name:String — 要查找的字符串。

返回
NativeMenuItem — 具有指定名称的 NativeMenuItem 对象,如果菜单中没有这样的项目,则为 null
getItemIndex()方法 
function getItemIndex(item:NativeMenuItem):int

获取指定项目的位置。

参数

item:NativeMenuItem — 要查找的 NativeMenuItem 对象.

返回
int — 此菜单中指定项目的位置(从 0 开始),如果该项目不在此菜单中,则为 null
removeAllItems()方法 
function removeAllItems():void

从菜单中删除所有项目。

removeItem()方法 
function removeItem(item:NativeMenuItem):NativeMenuItem

删除指定的菜单项。

参数

item:NativeMenuItem — 要从此菜单删除的 NativeMenuItem 对象。

返回
NativeMenuItem

引发
RangeError — 如果 item 不在此菜单中
removeItemAt()方法 
function removeItemAt(index:int):NativeMenuItem

删除并返回指定索引处的菜单项。

参数

index:int — 要删除的项目的位置(从 0 开始)。

返回
NativeMenuItem — 已删除的 NativeMenuItem 对象。

引发
RangeError — 如果 index 位于此菜单的 items 数组的范围以外。
setItemIndex()方法 
function setItemIndex(item:NativeMenuItem, index:int):void

将菜单项移到指定位置。

参数

item:NativeMenuItem — 要移动的 NativeMenuItem 对象。
 
index:int — 菜单中要将 item 移动到的位置(从 0 开始)。


引发
RangeError — 如果 index 位于此菜单的 items 数组的范围以外。
事件详细信息
displaying 事件
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.DISPLAYING

在显示菜单的前一刻由此 NativeMenu 对象调度。

侦听此事件可在显示菜单之前更新菜单。菜单中的项目也调度 displaying 事件。

Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。

注意:无论目标是否出现在显示列表中,此事件都不会通过“捕获阶段”,而是被直接调度给此目标。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target将要显示的 对象。
select 事件  
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.SELECT

在选择其菜单项之一或其后代子菜单之一中的项目时由此 NativeMenu 对象调度。

select 事件将从菜单项冒泡 到包含它的菜单,并贯穿父菜单链到达根菜单对象。该事件对象的 target 属性将引用所选的 NativeMenuItem 对象;currentTarget 属性将引用此 NativeMenu 对象。

Event.SELECT 常量定义 select 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target 对象,已在其中选定了一个项目。