| 包 | flash.ui |
| 类 | public final class ContextMenuItem |
| 继承 | ContextMenuItem NativeMenuItem EventDispatcher Object |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
customItems 数组。
利用 ContextMenuItem 类的属性,您可以启用或禁用特定菜单项,也可以显示或隐藏菜单项。
可以为menuItemSelect 事件编写事件处理程序,以便在用户选择菜单项时为其添加功能。
自定义菜单项出现在上下文菜单的顶部,并位于所有内置菜单项之上。自定义菜单项与内置菜单项始终由分隔条隔开。(AIR 中没有内置项。)
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
| caption : String 指定上下文菜单中显示的菜单项标题(文本)。 | ContextMenuItem | ||
![]() | 控制此菜单项是否显示复选标记。 | NativeMenuItem | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
![]() | 与此菜单项关联的任意数据对象。 | NativeMenuItem | |
![]() | 控制是否启用此菜单项。 | NativeMenuItem | |
![]() | [只读 (read-only)] 报告此项目是否为菜单分隔线。 | NativeMenuItem | |
![]() | 此菜单项的等效键。 | NativeMenuItem | |
![]() | 等效功能键的键控代码数组。 | NativeMenuItem | |
![]() | 此菜单项的显示字符串。 | NativeMenuItem | |
![]() | [只读 (read-only)] 包含此项目的菜单。 | NativeMenuItem | |
![]() | 菜单项标签中的助记键字符的位置。 | NativeMenuItem | |
![]() | 此菜单项的名称。 | NativeMenuItem | |
![]() | prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | |
| separatorBefore : Boolean 指示指定的菜单项上方是否显示分隔条。 | ContextMenuItem | ||
![]() | 与此菜单项关联的子菜单。 | NativeMenuItem | |
| visible : Boolean 指示在显示 Flash Player 上下文菜单时指定菜单项是否可见。 | ContextMenuItem | ||
| 方法 | 定义方 | ||
|---|---|---|---|
ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true) 创建一个可添加到 ContextMenu.customItems 数组的新 ContextMenuItem 对象。 | ContextMenuItem | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
创建 NativeMenuItem 对象的副本。 | ContextMenuItem | ||
![]() | 将事件调度到事件流中。 | EventDispatcher | |
![]() | 检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
指示对象是否已经定义了指定的属性。 | Object | |
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
指示指定的属性是否存在、是否可枚举。 | Object | |
![]() | 从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
[静态] | ContextMenuItem | ||
[静态] | ContextMenuItem | ||
[静态] | ContextMenuItem | ||
[静态] | ContextMenuItem | ||
[静态] | ContextMenuItem | ||
[静态] | ContextMenuItem | ||
[静态] | ContextMenuItem | ||
![]() | 返回一个字符串,其中包含 NativeMenuItem 对象的所有属性。 | NativeMenuItem | |
![]() |
返回指定对象的原始值。 | Object | |
![]() | 检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher | |
| 事件 | 摘要 | 定义方 | ||
|---|---|---|---|---|
![]() | [广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | ||
![]() | [广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | ||
![]() | 在显示包含此项目的菜单的前一刻由此 NativeMenuItem 对象调度。 | NativeMenuItem | ||
| 用户从上下文菜单中选择项时调度。 | ContextMenuItem | |||
![]() | 每当用户选择菜单项时调度。 | NativeMenuItem | ||
| caption | 属性 |
caption:String [读写] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
指定上下文菜单中显示的菜单项标题(文本)。有关 caption 值限制,请参阅 ContextMenuItem 类概述。
public function get caption():String public function set caption(value:String):void| separatorBefore | 属性 |
separatorBefore:Boolean [读写] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
指示指定的菜单项上方是否显示分隔条。
注意:任何自定义菜单项和内置菜单项之间始终会出现分隔条。
默认值为 false.
public function get separatorBefore():Boolean public function set separatorBefore(value:Boolean):void| visible | 属性 |
visible:Boolean [读写] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
指示在显示 Flash Player 上下文菜单时指定菜单项是否可见。
默认值为 true.
public function get visible():Boolean public function set visible(value:Boolean):void| ContextMenuItem | () | 构造函数 |
public function ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
创建一个可添加到 ContextMenu.customItems 数组的新 ContextMenuItem 对象。
caption:String —
指定与菜单项关联的文本。有关 caption 值限制,请参阅 ContextMenuItem 类概述。
| |
separatorBefore:Boolean (default = false) —
指定分隔条是否显示在上下文菜单中的菜单项上方。默认值为 false。
| |
enabled:Boolean (default = true) —
指定菜单项在上下文菜单中是处于启用状态还是禁用状态。默认值为 true(启用)。此参数是可选的。
| |
visible:Boolean (default = true) —
指定菜单项是否可见。默认值为 true(可见)。
|
| clone | () | 方法 |
| systemClearMenuItem | () | 方法 |
| systemCopyLinkMenuItem | () | 方法 |
| systemCopyMenuItem | () | 方法 |
| systemCutMenuItem | () | 方法 |
| systemOpenLinkMenuItem | () | 方法 |
| systemPasteMenuItem | () | 方法 |
| systemSelectAllMenuItem | () | 方法 |
| menuItemSelect | 事件 |
flash.events.ContextMenuEventflash.events.ContextMenuEvent.MENU_ITEM_SELECT| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
用户从上下文菜单中选择某一项时调度。用户通过单击其指针设备的辅助按钮来生成上下文菜单。
定义menuItemSelect 事件对象的 type 属性值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
bubbles
|
false
|
cancelable
|
false;没有要取消的默认行为。
|
contextMenuOwner
| 菜单附加到的显示列表对象。 |
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
mouseTarget
| 用户右键单击以显示上下文菜单的显示列表对象。 |
target
|
已选定的 ContextMenuItem 对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
ContextMenuBuiltInItemsExample 类从舞台中删除默认的上下文菜单项,并添加新的菜单项。这是由以下步骤完成的:
myContextMenu,然后将其赋给新的 ContextMenu 对象。
removeDefaultItems() 方法,该方法将删除所有内置的上下文菜单项(“打印”除外)。
addCustomMenuItems() 方法,该方法使用数组的 push() 方法将称为 Hello World 的菜单项放入 customItems 数组。
Hello World 上下文菜单项添加到舞台的上下文菜单项列表中。
package {
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.ui.ContextMenuBuiltInItems;
import flash.display.Sprite;
import flash.text.TextField;
public class ContextMenuItemExample extends Sprite {
private var myContextMenu:ContextMenu;
public function ContextMenuItemExample() {
myContextMenu = new ContextMenu();
removeDefaultItems();
addCustomMenuItems();
this.contextMenu = myContextMenu;
addChild(createLabel());
}
private function removeDefaultItems():void {
myContextMenu.hideBuiltInItems();
var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
defaultItems.print = true;
}
private function addCustomMenuItems():void {
var item:ContextMenuItem = new ContextMenuItem("Hello World");
myContextMenu.customItems.push(item);
}
private function createLabel():TextField {
var txtField:TextField = new TextField();
txtField.text = "Right Click Here";
return txtField;
}
}
}