Packageflash.ui
Classpublic final class ContextMenuItem
InheritanceContextMenuItem Inheritance NativeMenuItem Inheritance EventDispatcher Inheritance Object

Language version: ActionScript 3.0
Runtime version: 

The ContextMenuItem class represents an item in the context menu. Each ContextMenuItem object has a caption (text) that is displayed in the context menu. To add a new item to a context menu, you add it to the customItems array of a ContextMenu object.

With the properties of the ContextMenuItem class you can enable or disable specific menu items, and you can make items visible or invisible.

You write an event handler for the menuItemSelect event to add functionality to the menu item when the user selects it.

Custom menu items appear at the top of the context menu, above any built-in items. A separator bar divides custom menu items from built-in items. In AIR, there are no built-in items and the following restrictions do not apply to content in the AIR application sandbox.

Restrictions:

Note: When the player is running on a non-English system, the caption strings are compared to both the English list and the localized equivalents.

View the examples.

See also

ContextMenu class
ContextMenuBuiltInItems class


Public Properties
 PropertyDefined by
  caption : String
Specifies the menu item caption (text) displayed in the context menu.
ContextMenuItem
 Inheritedchecked : Boolean
Controls whether this menu item displays a checkmark.
NativeMenuItem
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 Inheriteddata : Object
An arbitrary data object associated with this menu item.
NativeMenuItem
 Inheritedenabled : Boolean
Controls whether this menu item is enabled.
NativeMenuItem
 InheritedisSeparator : Boolean
Reports whether this item is a menu separator line.
NativeMenuItem
 InheritedkeyEquivalent : String
The key equivalent for this menu item.
NativeMenuItem
 InheritedkeyEquivalentModifiers : Array
The array of key codes for the key equivalent modifiers.
NativeMenuItem
 Inheritedlabel : String
The display string of this menu item.
NativeMenuItem
 Inheritedmenu : NativeMenu
The menu that contains this item.
NativeMenuItem
 InheritedmnemonicIndex : int
The position of the mnemonic character in the menu item label.
NativeMenuItem
 Inheritedname : String
The name of this menu item.
NativeMenuItem
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  separatorBefore : Boolean
Indicates whether a separator bar should appear above the specified menu item.
ContextMenuItem
 Inheritedsubmenu : NativeMenu
The submenu associated with this menu item.
NativeMenuItem
  visible : Boolean
Indicates whether the specified menu item is visible when the Flash Player context menu is displayed.
ContextMenuItem
Public Methods
 MethodDefined by
  
ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)
Creates a new ContextMenuItem object that can be added to the ContextMenu.customItems array.
ContextMenuItem
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
  
Creates a copy of the NativeMenuItem object.
ContextMenuItem
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
  
[static]
ContextMenuItem
  
[static]
ContextMenuItem
  
[static]
ContextMenuItem
  
[static]
ContextMenuItem
  
[static]
ContextMenuItem
  
[static]
ContextMenuItem
  
[static]
ContextMenuItem
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns a string containing all the properties of the NativeMenuItem object.
NativeMenuItem
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Events
 EventSummaryDefined by
 Inherited [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 Inherited [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
 Inherited Dispatched by this NativeMenuItem object immediately before the menu containing the item is displayed.NativeMenuItem
   Dispatched when a user selects an item from a context menu.ContextMenuItem
 Inherited Dispatched by this NativeMenuItem object when its key equivalent is pressed and immediately before the containing menu is displayed.NativeMenuItem
 Inherited Dispatched whenever a menu item is selected by the user.NativeMenuItem
Property detail
captionproperty
caption:String  [read-write]

Language version: ActionScript 3.0
Runtime version: 

Specifies the menu item caption (text) displayed in the context menu. See the ContextMenuItem class overview for caption value restrictions.

Implementation
    public function get caption():String
    public function set caption(value:String):void
separatorBeforeproperty 
separatorBefore:Boolean  [read-write]

Language version: ActionScript 3.0
Runtime version: 

Indicates whether a separator bar should appear above the specified menu item.

Note: A separator bar always appears between any custom menu items and the built-in menu items.

The default value is false.

Implementation
    public function get separatorBefore():Boolean
    public function set separatorBefore(value:Boolean):void
visibleproperty 
visible:Boolean  [read-write]

Language version: ActionScript 3.0
Runtime version: 

Indicates whether the specified menu item is visible when the Flash Player context menu is displayed.

The default value is true.

Implementation
    public function get visible():Boolean
    public function set visible(value:Boolean):void
Constructor detail
ContextMenuItem()constructor
public function ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)

Language version: ActionScript 3.0
Runtime version: 

Creates a new ContextMenuItem object that can be added to the ContextMenu.customItems array.

Parameters
caption:String — Specifies the text associated with the menu item. See the ContextMenuItem class overview for caption value restrictions.
 
separatorBefore:Boolean (default = false) — Specifies whether a separator bar appears above the menu item in the context menu. The default value is false.
 
enabled:Boolean (default = true) — Specifies whether the menu item is enabled or disabled in the context menu. The default value is true (enabled). This parameter is optional.
 
visible:Boolean (default = true) — Specifies whether the menu item is visible or invisible. The default value is true (visible).
Method detail
clone()method
public override function clone():NativeMenuItem

Creates a copy of the NativeMenuItem object.

Returns
NativeMenuItem
systemClearMenuItem()method 
public static function systemClearMenuItem():ContextMenuItem

Returns
ContextMenuItem
systemCopyLinkMenuItem()method 
public static function systemCopyLinkMenuItem():ContextMenuItem

Returns
ContextMenuItem
systemCopyMenuItem()method 
public static function systemCopyMenuItem():ContextMenuItem

Returns
ContextMenuItem
systemCutMenuItem()method 
public static function systemCutMenuItem():ContextMenuItem

Returns
ContextMenuItem
systemOpenLinkMenuItem()method 
public static function systemOpenLinkMenuItem():ContextMenuItem

Returns
ContextMenuItem
systemPasteMenuItem()method 
public static function systemPasteMenuItem():ContextMenuItem

Returns
ContextMenuItem
systemSelectAllMenuItem()method 
public static function systemSelectAllMenuItem():ContextMenuItem

Returns
ContextMenuItem
Event detail
menuItemSelectevent 
Event object type: flash.events.ContextMenuEvent
ContextMenuEvent.type property = flash.events.ContextMenuEvent.MENU_ITEM_SELECT

Language version: ActionScript 3.0
Runtime version: 

Dispatched when a user selects an item from a context menu. The user generates the context menu by clicking the secondary button of the user's pointing device.

Defines the value of the type property of a menuItemSelect event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
contextMenuOwnerThe display list object to which the menu is attached.
currentTargetThe object that is actively processing the Event object with an event listener.
mouseTargetThe display list object on which the user right-clicked to display the context menu.
targetThe ContextMenuItem object that has been selected. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.
Examples
examples\ContextMenuItemExample
The following example uses the class ContextMenuBuiltInItemsExample to remove the default context menu items from the Stage and add a new menu item. This is accomplished with the following steps:
  1. A property myContextMenu is declared and then assigned to a new ContextMenu object.
  2. The method removeDefaultItems() is called, which removes all built-in context menu items except Print.
  3. The method addCustomMenuItems() is called, which places a menu item called Hello World into the customItems array by using the push() method of Array.
  4. The Hello World context menu item is added to the Stage's context menu item list.
  5. A TextField object with the text "Right Click Here" is added to the stage.
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;
		}
	}
}