パッケージflash.events
public class ContextMenuEvent
継承ContextMenuEvent Inheritance Event Inheritance Object

ユーザーがコンテキストメニューを生成または使用すると、Flash® Player によって ContextMenuEvent オブジェクトが送出されます。ユーザーは、ユーザーのポインティングデバイス (通常はマウスまたはトラックボール) の小さなボタンをクリックすることにより、コンテキストメニューを生成します。次の 2 種類の ContextMenuEvent オブジェクトがあります。

例の表示

関連項目

ContextMenu class
ContextMenuItem class


パブリックプロパティ
 プロパティ定義
 Inheritedbubbles : Boolean
イベントがバブリングイベントかどうかを示します。
Event
 Inheritedcancelable : Boolean
イベントに関連付けられたビヘイビアを回避できるかどうかを示します。
Event
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  contextMenuOwner : InteractiveObject
メニューが関連付けられる表示リストオブジェクトです。
ContextMenuEvent
 InheritedcurrentTarget : Object
イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
Event
 InheritedeventPhase : uint
イベントフローの現在の段階です。
Event
  mouseTarget : InteractiveObject
ユーザーがコンテキストメニューを表示するために右クリックした表示リストオブジェクトです。
ContextMenuEvent
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedtarget : Object
イベントターゲットです。
Event
 Inheritedtype : String
イベントの型です。
Event
パブリックメソッド
 メソッド定義
  ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)
メニューイベントに関する特定の情報を含む Event オブジェクトを作成します。
ContextMenuEvent
  clone():Event
ContextMenuEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。
ContextMenuEvent
 InheritedformatToString(className:String, ... arguments):String
カスタム Event クラスに toString() メソッドを実装するためのユーティリティ関数です。
Event
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedisDefaultPrevented():Boolean
イベントで preventDefault() が呼び出されたかどうかをチェックします。
Event
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 InheritedpreventDefault():void
イベントのデフォルトビヘイビアをキャンセルできる場合に、そのビヘイビアをキャンセルします。
Event
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedstopImmediatePropagation():void
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。
Event
 InheritedstopPropagation():void
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。
Event
  toString():String
ContextMenuEvent オブジェクトのすべてのプロパティを含むストリングを返します。
ContextMenuEvent
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
パブリック定数
 定数定義
 InheritedACTIVATE : String = "activate"
[static] activate イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedADDED : String = "added"
[static] added イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCANCEL : String = "cancel"
[static] cancelイベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCHANGE : String = "change"
[static] change イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCLOSE : String = "close"
[static] close イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCOMPLETE : String = "complete"
[static] complete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCONNECT : String = "connect"
[static] connect イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] deactivate イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] enterFrame イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedID3 : String = "id3"
[static] id3 イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedINIT : String = "init"
[static] init イベントオブジェクトの type プロパティの値を定義します。
Event
  MENU_ITEM_SELECT : String = "menuItemSelect"
[static] menuItemSelect イベントオブジェクトの type プロパティの値を定義します。
ContextMenuEvent
  MENU_SELECT : String = "menuSelect"
[static] menuSelect イベントオブジェクトの type プロパティの値を定義します。
ContextMenuEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] mouseLeave イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedOPEN : String = "open"
[static] open イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedREMOVED : String = "removed"
[static] removed イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRENDER : String = "render"
[static] render イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRESIZE : String = "resize"
[static] resize イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSCROLL : String = "scroll"
[static] scroll イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSELECT : String = "select"
[static] select イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] soundComplete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] tabChildrenChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] tabEnabledChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] tabIndexChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedUNLOAD : String = "unload"
[static] unload イベントオブジェクトの type プロパティの値を定義します。
Event
プロパティの詳細
contextMenuOwnerプロパティ
contextMenuOwner:InteractiveObject  [read-write]

メニューが関連付けられる表示リストオブジェクトです。これは、マウスターゲット (mouseTarget)、または表示リストの祖先のいずれかになります。

実装
    public function get contextMenuOwner():InteractiveObject
    public function set contextMenuOwner(value:InteractiveObject):void
mouseTargetプロパティ 
mouseTarget:InteractiveObject  [read-write]

ユーザーがコンテキストメニューを表示するために右クリックした表示リストオブジェクトです。これは、メニューが関連付けられている表示リストオブジェクト (contextMenuOwner)、またはその表示リストの子孫のいずれかになります。

実装
    public function get mouseTarget():InteractiveObject
    public function set mouseTarget(value:InteractiveObject):void
コンストラクタの詳細
ContextMenuEvent()コンストラクタ
public 関数 ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)

メニューイベントに関する特定の情報を含む Event オブジェクトを作成します。イベントリスナーには Event オブジェクトがパラメータとして渡されます。

パラメータ
type:String — イベントのタイプです。有効な値は次のとおりです。
  • ContextMenuEvent.MENU_ITEM_SELECT
  • ContextMenuEvent.MENU_SELECT
 
bubbles:Boolean (default = false) — Event オブジェクトがイベントフローのバブリング段階で処理されるかどうかを判断します。イベントリスナーは、継承された bubbles プロパティを通じてこの情報にアクセスできます。
 
cancelable:Boolean (default = false) — Event オブジェクトがキャンセル可能かどうかを判断します。イベントリスナーは、継承された cancelable プロパティを通じてこの情報にアクセスできます。
 
mouseTarget:InteractiveObject (default = null) — ユーザーがコンテキストメニューを表示するために右クリックした表示リストオブジェクトです。これは、contextMenuOwner または、その表示リストの子孫のいずれかになります。
 
contextMenuOwner:InteractiveObject (default = null) — メニューが関連付けられる表示リストオブジェクトです。これは、mouseTarget または、その表示リストの祖先のいずれかになります。

関連項目

メソッドの詳細
clone()メソッド
public override function clone():Event

ContextMenuEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。

戻り値
Event — 元のオブジェクトと同じプロパティ値を含む新しい ContextMenuEvent オブジェクトです。
toString()メソッド 
public override function toString():String

ContextMenuEvent オブジェクトのすべてのプロパティを含むストリングを返します。ストリングは次の形式です。

[ContextMenuEvent type=value bubbles=value cancelable=value ... contextMenuOwner=value]

戻り値
String — ContextMenuEvent オブジェクトのすべてのプロパティを含むストリングです。
定数の詳細
MENU_ITEM_SELECT定数
public static const MENU_ITEM_SELECT:String = "menuItemSelect"

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

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

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

関連項目

MENU_SELECT定数 
public static const MENU_SELECT:String = "menuSelect"

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

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

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

関連項目


次の例では、ContextMenuEventExample クラス を使用して、デフォルトのコンテキストメニューアイテムをステージから削除し、ステージ上の四角形の色を変更する 新しいメニューアイテムを追加します。この例では、次の処理を 実行します。
  1. myContextMenu プロパティが宣言され、新しい ContextMenu オブジェクトに割り当てられ、Sprite 型の redRectangle プロパティが宣言されます。
  2. removeDefaultItems() メソッドが呼び出されます。このメソッドによって、すべてのビルトインコンテキスト メニューアイテムが削除されます。ただし、プリントを除きます。
  3. addCustomMenuItems() メソッドが呼び出されます。このメソッドによって、 Reverse Colors メニューアイテムが defaultItems 配列に配置されます。配列の push() メソッドが使用されます。menuItemSelect イベントリスナーが ContextMenuItem オブジェクトに追加され、関連付けられるメソッドは menuItemSelectHandler() という名前です。 このメソッドは、ユーザーが コンテキストメニューから[色の反転]を選択したときに常に trace() ステートメントを出力します。また、赤い四角形は 黒に変わり、黒のテキストは赤に変わります。
  4. コンストラクタに戻り、menuSelect イベントリスナーが追加されます。それと共に、 関連するメソッド menuSelectHandler() も追加されます。このメソッドは、コンテキストメニューのアイテムが選択されるたびに、 3 つの trace() ステートメントを出力します。
  5. コンストラクタは addChildren() を呼び出します。これは、赤色の四角形を描画し、それを 表示リストに追加します。この四角形は、表示リストに即座に表示されます。
  6. 最後に、myContextMenuredRectangle プロパティのコンテキストメニューに割り当てられます。 このため、カスタムコンテキストメニューが表示されるのは、マウスポインタが四角形の上にある場合のみです。
package {
    import flash.ui.ContextMenu;
    import flash.ui.ContextMenuItem;
    import flash.ui.ContextMenuBuiltInItems;
    import flash.events.ContextMenuEvent;
    import flash.display.Sprite;
    import flash.display.Shape;
    import flash.text.TextField;

    public class ContextMenuEventExample extends Sprite {
        private var myContextMenu:ContextMenu;
        private var menuLabel:String = "Reverse Colors";
        private var textLabel:String = "Right Click";
        private var redRectangle:Sprite;
        private var label:TextField;
        private var size:uint = 100;
        private var black:uint = 0x000000;
        private var red:uint = 0xFF0000;

        public function ContextMenuEventExample() {
            myContextMenu = new ContextMenu();
            removeDefaultItems();
            addCustomMenuItems();
            myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler);

            addChildren();
            redRectangle.contextMenu = myContextMenu;
        }

        private function addChildren():void {
            redRectangle = new Sprite();
            redRectangle.graphics.beginFill(red);
            redRectangle.graphics.drawRect(0, 0, size, size);
            addChild(redRectangle);
            redRectangle.x = size;
            redRectangle.y = size;
            label = createLabel();
            redRectangle.addChild(label);
        }

        private function removeDefaultItems():void {
            myContextMenu.hideBuiltInItems();
            var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
            defaultItems.print = true;
        }

        private function addCustomMenuItems():void {
            var item:ContextMenuItem = new ContextMenuItem(menuLabel);
            myContextMenu.customItems.push(item);
            item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);
        }

        private function menuSelectHandler(event:ContextMenuEvent):void {
            trace("menuSelectHandler: " + event);
        }

        private function menuItemSelectHandler(event:ContextMenuEvent):void {
            trace("menuItemSelectHandler: " + event);
            var textColor:uint = (label.textColor == black) ? red : black;
            var bgColor:uint = (label.textColor == black) ? black : red;
            redRectangle.graphics.clear();
            redRectangle.graphics.beginFill(bgColor);
            redRectangle.graphics.drawRect(0, 0, size, size);
            label.textColor = textColor;
        }

        private function createLabel():TextField {
            var txtField:TextField = new TextField();
            txtField.text = textLabel;
            return txtField;
        }
    }
}