パッケージflash.ui
public final class ContextMenuItem
継承ContextMenuItem Inheritance EventDispatcher Inheritance Object

ContextMenuItem クラスを使用して、Flash Player のコンテキストメニューに表示するカスタムメニューアイテムを作成します。各 ContextMenuItem オブジェクトには、コンテキストメニューに表示されるキャプション (テキスト) があります。コンテキストメニューに新しいアイテムを追加するには、ContextMenu オブジェクトの customItems 配列にアイテムを追加します。

ContextMenuItem クラスのプロパティを使用して、特定のメニューアイテムを有効または無効にして、アイテムを表示または非表示にすることができます。

menuItemSelect イベントのイベントハンドラを記述して、ユーザーがメニューアイテムを選択したときにメニューアイテムに機能を追加します。

カスタムメニューアイテムは、コンテキストメニューの一番上に、つまり、どのビルトインアイテムよりも上に表示されます。カスタムメニューアイテムとビルトインアイテムとの間には常にセパレータが表示されます。

制約 :

メモ: 英語以外のシステムで実行される場合、キャプションストリングは英語の一覧およびローカライズされた一覧の両方と比較されます。

例の表示

関連項目

ContextMenu class
ContextMenuBuiltInItems class


パブリックプロパティ
 プロパティ定義
  caption : String
コンテキストメニューに表示するメニューアイテムのキャプション (テキスト) を指定します。
ContextMenuItem
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  enabled : Boolean
指定されたメニューアイテムが有効か無効かを示します。
ContextMenuItem
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  separatorBefore : Boolean
指定されたメニューアイテムの上にセパレータを表示するかどうかを示します。
ContextMenuItem
  visible : Boolean
Flash Player のコンテキストメニューを表示するときに、指定されたメニューアイテムを表示するかどうかを示します。
ContextMenuItem
パブリックメソッド
 メソッド定義
  ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)
ContextMenu.customItems 配列に追加できる新しい ContextMenuItem オブジェクトを作成します。
ContextMenuItem
 InheritedaddEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
  clone():ContextMenuItem
指定された ContextMenuItem オブジェクトのコピーを作成して返します。
ContextMenuItem
 InheriteddispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
EventDispatcher
 InheritedhasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedremoveEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedtoString():String
指定されたオブジェクトのストリング表現を返します。
Object
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
 InheritedwillTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
  menuItemSelect ユーザーがコンテキストメニューからアイテムを選択したときに送出されます。ContextMenuItem
プロパティの詳細
captionプロパティ
caption:String  [read-write]

コンテキストメニューに表示するメニューアイテムのキャプション (テキスト) を指定します。caption 値の制約については、ContextMenuItem クラスの概要を参照してください。

実装
    public function get caption():String
    public function set caption(value:String):void
enabledプロパティ 
enabled:Boolean  [read-write]

指定されたメニューアイテムが有効か無効かを示します。

デフォルト値true.

実装
    public function get enabled():Boolean
    public function set enabled(value:Boolean):void
separatorBeforeプロパティ 
separatorBefore:Boolean  [read-write]

指定されたメニューアイテムの上にセパレータを表示するかどうかを示します。

メモ :カスタムメニューアイテムとビルトインメニューアイテムの間には常にセパレータが表示されます。

デフォルト値false.

実装
    public function get separatorBefore():Boolean
    public function set separatorBefore(value:Boolean):void
visibleプロパティ 
visible:Boolean  [read-write]

Flash Player のコンテキストメニューを表示するときに、指定されたメニューアイテムを表示するかどうかを示します。

デフォルト値true.

実装
    public function get visible():Boolean
    public function set visible(value:Boolean):void
コンストラクタの詳細
ContextMenuItem()コンストラクタ
public 関数 ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)

ContextMenu.customItems 配列に追加できる新しい ContextMenuItem オブジェクトを作成します。

パラメータ
caption:String — メニューアイテムに関連付けられるテキストを指定します。caption 値の制約については、ContextMenuItem クラスの概要を参照してください。
 
separatorBefore:Boolean (default = false) — コンテキストメニューのメニューアイテムの上にセパレータを表示するかどうかを指定します。デフォルト値は false です。
 
enabled:Boolean (default = true) — コンテキストメニューのメニューアイテムが有効か無効かを指定します。デフォルト値は true (有効) です。このパラメータはオプションです。
 
visible:Boolean (default = true) — メニューアイテムを表示するか非表示にするかを指定します。デフォルト値は true (表示する) です。
メソッドの詳細
clone()メソッド
public function clone():ContextMenuItem

指定された ContextMenuItem オブジェクトのコピーを作成して返します。コピーには、元のオブジェクトのすべてのプロパティが含まれます。

戻り値
ContextMenuItem — 元のオブジェクトのすべてのプロパティを含む ContextMenuItem オブジェクトです。
イベントの詳細
menuItemSelectevent 
イベントオブジェクトの型: flash.events.ContextMenuEvent
ContextMenuEvent.type property = flash.events.ContextMenuEvent.MENU_ITEM_SELECT

ユーザーがコンテキストメニューからアイテムを選択したときに送出されます。ユーザーは、ユーザーのポインティングデバイスの小さなボタンをクリックすることにより、コンテキストメニューを生成します。

menuItemSelect イベントオブジェクトの type プロパティの値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
contextMenuOwnerメニューが関連付けられる表示リストオブジェクトです。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
mouseTargetユーザーがコンテキストメニューを表示するために右クリックした表示リストオブジェクトです。
target選択された ContextMenuItem オブジェクトです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。

次の例では、クラス ContextMenuBuiltInItemsExample を使用して、デフォルトのコンテキストメニューアイテムをステージから削除し、新しいメニューアイテムを追加します。ここでは 以下の手順を実行します。
  1. プロパティ myContextMenu が宣言され、新しい ContextMenu オブジェクトに割り当てられます。
  2. メソッド removeDefaultItems() が呼び出されます。このメソッドによって、すべてのビルトインコンテキスト メニューアイテムが削除されます。ただし、プリントを除きます。
  3. メソッド addCustomMenuItems() が呼び出されます。このメソッドによって、 Hello World というメニューアイテムが customItems 配列に配置されます。配列の push() メソッドが使用されます。
  4. Hello World コンテキストメニューアイテムは、ステージのコンテキスト メニューアイテム一覧に追加されます。
  5. テキスト "ここを右クリック" を持つ TextField オブジェクトがステージに追加されます。
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;
        }
    }
}