| 包 | flash.display | 
| 类 | public class NativeMenu | 
| 继承 | NativeMenu    EventDispatcher   Object | 
| 子类 | ContextMenu | 
| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
AIR 支持以下菜单:
| Menu | 实例 | 功能测试 | 支持平台 | 默认提供? | 
|---|---|---|---|---|
| 应用程序” | 
                              NativeApplication.nativeApplication.menu
                            | 
                              NativeApplication.supportsMenu
                            | Mac OS X | 是 | 
| 窗口 | 
                              NativeWindow.menu
                            | 
                              NativeWindow.supportsMenu
                            | Windows、Linux | 否 | 
| 停靠图标 | 
                              NativeApplication.nativeApplication.icon.menu
                            | 
                              NativeApplication.supportsDockIcon
                            | Mac OS X、某些 Linux 版本 | 是 | 
| 系统任务栏图标 | 
                              NativeApplication.nativeApplication.icon.menu
                            | 
                              NativeApplication.supportsSystemTrayIcon
                            | Windows、某些 Linux 版本 | 否 | 
| 上下文 | 
                              InteractiveObject.contextMenu
                            | 始终支持 | 全部 | 否 | 
| 弹出菜单 | 任何 NativeMenu 实例 | 始终支持 | 全部 | 否 | 
          菜单可以包含命令项、子菜单项和分隔线项。菜单项是使用 addItem()、addItemAt()、addSubmenu() 和 addSubmenuAt() 方法添加到菜单中的。菜单项的显示顺序与菜单项在菜单的 items 数组中的顺序相符。
        
          子菜单是通过父菜单的匹配菜单项的 submenu 属性附加到其父菜单的。窗口和应用程序菜单的根菜单必须只包含子菜单项;没有子菜单的项目可能不予显示,它们与用户对这些菜单类型的预期相反。
        
          当选择了菜单中的命令项或其子菜单之一时,菜单将调度 select 事件。(子菜单和分隔符项不可选择。)事件对象的 target 属性将引用所选项目。
        
          在显示菜单的前一刻,菜单将调度 displaying 事件。您可以根据应用程序的当前状态使用此事件来更新菜单内容。
        
注意:您可用使用 NativeMenu 或 ContextMenu 对象来设置上下文菜单。Flash Player 仅支持 ContextMenu 类,不支持 NativeMenu 类。
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
![]()  | constructor : Object 
  对类对象或给定对象实例的构造函数的引用。  | Object | |
此菜单中 NativeMenuItem 对象的数组。  | NativeMenu | ||
[只读 (read-only)] 此菜单中 NativeMenuItem 对象的数量。  | NativeMenu | ||
[只读 (read-only)] 父菜单。  | NativeMenu | ||
![]()  | prototype : Object [静态] 
  对类或函数对象的原型对象的引用。  | Object | |
| 方法 | 定义方 | ||
|---|---|---|---|
![]()  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。  | EventDispatcher | |
在菜单底部添加一个菜单项。  | NativeMenu | ||
在指定位置插入一个菜单项。  | NativeMenu | ||
通过插入新菜单项,在菜单中添加子菜单。  | NativeMenu | ||
通过在指定位置插入新菜单项,在菜单中添加子菜单。  | NativeMenu | ||
创建菜单和所有项目的副本。  | NativeMenu | ||
报告此菜单是否包含指定的菜单项。  | NativeMenu | ||
![]()  | 将事件调度到事件流中。  | EventDispatcher | |
在指定位置弹出此菜单。  | NativeMenu | ||
获取指定索引处的菜单项。  | NativeMenu | ||
获取具有指定名称的菜单项。  | NativeMenu | ||
获取指定项目的位置。  | NativeMenu | ||
![]()  | 检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。  | EventDispatcher | |
![]()  | 
  指示对象是否已经定义了指定的属性。  | Object | |
![]()  | 
  指示 Object 类的实例是否在指定为参数的对象的原型链中。  | Object | |
![]()  | 
  指示指定的属性是否存在、是否可枚举。  | Object | |
从菜单中删除所有项目。  | NativeMenu | ||
![]()  | 从 EventDispatcher 对象中删除侦听器。  | EventDispatcher | |
删除指定的菜单项。  | NativeMenu | ||
删除并返回指定索引处的菜单项。  | NativeMenu | ||
将菜单项移到指定位置。  | NativeMenu | ||
![]()  | 
     设置循环操作动态属性的可用性。  | Object | |
![]()  | 
  返回指定对象的字符串表示形式。  | Object | |
![]()  | 
  返回指定对象的原始值。  | Object | |
![]()  | 检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。  | EventDispatcher | |
| 事件 | 摘要 | 定义方 | ||
|---|---|---|---|---|
![]()  | [广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | ||
![]()  | [广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | ||
| 在显示菜单的前一刻由此 NativeMenu 对象调度。 | NativeMenu | |||
| 在选择其菜单项之一或其后代子菜单之一中的项目时由此 NativeMenu 对象调度。 | NativeMenu | |||
| 属性 | 
items:Array  [读写] | 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
此菜单中 NativeMenuItem 对象的数组。
数组按显示顺序排序。
注意:此属性在 AIR 1.0 中为只读,在 AIR 1.1 中变为读/写。
    public function get items():Array    public function set items(value:Array):void| 属性 | 
numItems:int  [只读 (read-only)] | 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
此菜单中 NativeMenuItem 对象的数量。
    public function get numItems():int| 属性 | 
parent:NativeMenu  [只读 (read-only)] | 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
父菜单。
            根(顶级)菜单对象的 parent 为 null。
          
    public function get parent():NativeMenu| () | 方法 | 
 public function addItem(item:NativeMenuItem):NativeMenuItem| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
在菜单底部添加一个菜单项。
创建上下文菜单时,可以添加 NativeMenuItem 或 ContextMenuItem 对象。但是,建议在上下文菜单中仅使用一种类型的对象,以使菜单中的所有项都具有相同的属性。
参数
item:NativeMenuItem — 要在菜单底部添加的 NativeMenuItem 对象。 | 
NativeMenuItem | 
ArgumentError  — 
              如果 item 为 null。
             | |
ArgumentError  — 
              如果 item 是另一个菜单的成员。
             | 
| () | 方法 | 
 public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
在指定位置插入一个菜单项。
参数
item:NativeMenuItem — 要插入的 NativeMenuItem 对象。 | |
index:int — 菜单中要插入该菜单项的位置(从 0 开始)。 | 
NativeMenuItem | 
ArgumentError  — 
              如果 item 为 null。
             | |
ArgumentError  — 
              如果 item 是另一个菜单的成员。
             | |
RangeError  — 
              如果 index 位于菜单的 items 数组的范围以外。
             | 
| () | 方法 | 
 public function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem| 运行时版本: | AIR 1.0 | 
通过插入新菜单项,在菜单中添加子菜单。
            调用 addSubMenu() 方法等效于创建一个新菜单项、将其添加到菜单,并将 NativeMenu 对象分配给该项目的 submenu 属性。
          
参数
submenu:NativeMenu — 定义要添加的子菜单的 NativeMenu 对象。 | |
label:String — 要添加的菜单项的显示标签. | 
NativeMenuItem — 为该子菜单创建的 NativeMenuItem 对象。 | 
| () | 方法 | 
 public function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem| 运行时版本: | AIR 1.0 | 
通过在指定位置插入新菜单项,在菜单中添加子菜单。
            调用 addSubMenuAt() 方法等效于创建一个新菜单项、将其插入到菜单中需要的位置,并将 NativeMenu 对象分配给该项目的 submenu 属性。
          
参数
submenu:NativeMenu — 定义要添加的子菜单的 NativeMenu 对象。 | |
index:int — 
              此菜单的 items 数组中要插入将添加的菜单项的位置.
             | |
label:String — 要添加的菜单项的显示标签. | 
NativeMenuItem — 为该子菜单创建的 NativeMenuItem 对象。 | 
| () | 方法 | 
| () | 方法 | 
 public function containsItem(item:NativeMenuItem):Boolean| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
报告此菜单是否包含指定的菜单项。
参数
item:NativeMenuItem — 要查找的 NativeMenuItem 对象. | 
Boolean — 
              如果 item 位于此菜单中,则为 true.
             | 
| () | 方法 | 
 public function display(stage:Stage, stageX:Number, stageY:Number):void| 运行时版本: | AIR 1.0 | 
在指定位置弹出此菜单。
参数
stage:Stage — 要在其上显示此菜单的 Stage 对象。 | |
stageX:Number — 相对于要显示此菜单的舞台原点的水平像素数。 | |
stageY:Number — 相对于要显示此菜单的舞台原点的垂直像素数。 | 
| () | 方法 | 
 public function getItemAt(index:int):NativeMenuItem| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
获取指定索引处的菜单项。
参数
index:int — 要返回的项目的位置(从 0 开始)。 | 
NativeMenuItem — 位于菜单中指定位置的 NativeMenuItem 对象。 | 
RangeError  — 
              如果 index 位于此菜单的 items 数组的范围以外。
             | 
| () | 方法 | 
 public function getItemByName(name:String):NativeMenuItem| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
获取具有指定名称的菜单项。
            注意:默认情况下不分配菜单项的 name 属性。
          
参数
name:String — 要查找的字符串。 | 
NativeMenuItem — 
              具有指定名称的 NativeMenuItem 对象,如果菜单中没有这样的项目,则为 null。
             | 
| () | 方法 | 
 public function getItemIndex(item:NativeMenuItem):int| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
获取指定项目的位置。
参数
item:NativeMenuItem — 要查找的 NativeMenuItem 对象. | 
int — 
              此菜单中指定项目的位置(从 0 开始),如果该项目不在此菜单中,则为 null。
             | 
| () | 方法 | 
| () | 方法 | 
 public function removeItem(item:NativeMenuItem):NativeMenuItem| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
删除指定的菜单项。
参数
item:NativeMenuItem — 要从此菜单删除的 NativeMenuItem 对象。 | 
NativeMenuItem | 
RangeError  — 
              如果 item 不在此菜单中
             | 
| () | 方法 | 
 public function removeItemAt(index:int):NativeMenuItem| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
删除并返回指定索引处的菜单项。
参数
index:int — 要删除的项目的位置(从 0 开始)。 | 
NativeMenuItem — 已删除的 NativeMenuItem 对象。 | 
RangeError  — 
              如果 index 位于此菜单的 items 数组的范围以外。
             | 
| () | 方法 | 
 public function setItemIndex(item:NativeMenuItem, index:int):void| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 | 
将菜单项移到指定位置。
参数
item:NativeMenuItem — 要移动的 NativeMenuItem 对象。 | |
index:int — 
              菜单中要将 item 移动到的位置(从 0 开始)。
             | 
RangeError  — 
              如果 index 位于此菜单的 items 数组的范围以外。
             | 
| 事件 | 
flash.events.Eventflash.events.Event.DISPLAYING| 运行时版本: | AIR 1.0 | 
在显示菜单的前一刻由此 NativeMenu 对象调度。
侦听此事件可在显示菜单之前更新菜单。菜单中的项目也调度 displaying 事件。
Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。
          注意:无论目标是否出现在显示列表中,此事件都不会通过“捕获阶段”,而是被直接调度给此目标。
此事件具有以下属性:
| 属性 | 值 | 
|---|---|
                    bubbles
                   | 
                    false
                   | 
                    cancelable
                   | 
                    false
                   | 
                    currentTarget
                   | 当前正在使用某个事件侦听器处理 Event 对象的对象。 | 
                    target
                   | 将要显示的 对象。 | 
| 事件 | 
flash.events.Eventflash.events.Event.SELECT| 运行时版本: | AIR 1.0 | 
在选择其菜单项之一或其后代子菜单之一中的项目时由此 NativeMenu 对象调度。
            select 事件将从菜单项冒泡 到包含它的菜单,并贯穿父菜单链到达根菜单对象。该事件对象的 target 属性将引用所选的 NativeMenuItem 对象;currentTarget 属性将引用此 NativeMenu 对象。
          
Event.SELECT 常量定义 select 事件对象的 type 属性的值。
          此事件具有以下属性:
| 属性 | 值 | 
|---|---|
                    bubbles
                   | 
                    false
                   | 
                    cancelable
                   | 
                    false;没有要取消的默认行为。
                   | 
                    currentTarget
                   | 当前正在使用某个事件侦听器处理 Event 对象的对象。 | 
                    target
                   | 对象,已在其中选定了一个项目。 |