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

ContextMenu クラスは、Flash Player コンテキストメニューのアイテムのコントロールを提供します。ユーザーは、Flash Player を右クリック (Windows の場合) または Control キーを押したままクリック (Macintosh の場合) してコンテキストメニューを開きます。ContextMenu クラスのメソッドとプロパティを使用すると、カスタムメニューアイテムを追加し、ビルトインコンテキストメニューアイテムの表示 ([拡大]、[プリント] など) を制御し、新しいメニューを作成することができます。

ContextMenu オブジェクトは、特定のボタンやムービークリップ、テキストフィールドオブジェクト、またはムービー全体に関連付けることができます。その際、Button クラス、MovieClip クラス、TextField クラスの menu プロパティを使用します。menu プロパティの詳細については、Button.menu、MovieClip.menu、および TextField.menu を参照してください。

Flex では、アプリケーション内の最上位レベルのコンポーネントだけにコンテキストメニューがあります。たとえば、DataGrid コントロールが TabNavigator コンテナまたは VBox コンテナの子である場合、DataGrid コントロールは独自のコンテキストメニューを持つことができません。

ContextMenu オブジェクトに新しいアイテムを追加するには、ContextMenuItem オブジェクトを作成し、そのオブジェクトを ContextMenu.customItems 配列に追加します。コンテキストメニューアイテムの作成の詳細については、ContextMenuItem クラスを参照してください。

Flash Player には次の 3 種類のコンテキストメニューがあります。Flash Player を右クリックしたときに表示される標準メニュー、選択可能テキストフィールドまたは編集可能テキストフィールドを右クリックしたときに表示される編集メニュー、Flash Player への SWF ファイルのロードが失敗したときに表示されるエラーメニューです。ContextMenu クラスで修正できるのは、標準メニューと編集メニューだけです。

カスタムメニューアイテムは、常に Flash Player コンテキストメニューの一番上に、つまり、どの可視ビルトインメニューアイテムよりも上に表示されます。ビルトインメニューアイテムとカスタムメニューアイテムの間にはセパレータが表示されます。コンテキストメニューに追加できるカスタムアイテムは 15 アイテム以内です。コンテキストメニューから [設定] メニューアイテムを削除することはできません。[設定] メニューアイテムは、ユーザーがプライバシーやコンピュータの記憶領域に作用する設定にアクセスできるようにするための、Flash に必須のメニューアイテムです。また、使用している Flash Player のバージョンをユーザーが確認するために必要な [Macromedia Flash Player 8 について] メニューアイテムも削除できません。

ContextMenu オブジェクトのメソッドを呼び出す前に、ContextMenu() コンストラクタを使用して ContextMenu オブジェクトを作成する必要があります。

関連項目

ContextMenuItem class
flash.display.InteractiveObject.contextMenu


パブリックプロパティ
 プロパティ定義
  builtInItems : ContextMenuBuiltInItems
ContextMenuBuiltInItems クラスの次のプロパティを持つオブジェクトです。forwardAndBackloopplayprintqualityrewindsave、および zoom
ContextMenu
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  customItems : Array
ContextMenuItem オブジェクトの配列です。
ContextMenu
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリック Methods
 メソッド定義
  
ContextMenu オブジェクトを作成します。
ContextMenu
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
リスナーがイベントの通知を受け取るように、イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録します。
EventDispatcher
  
指定された ContextMenu オブジェクトのコピーを作成します。
ContextMenu
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
指定されたプロパティがオブジェクトに定義されているかどうかを示します。
Object
  
[設定] を除き、指定された ContextMenu オブジェクト内のすべてのビルトインメニューアイテムを非表示にします。
ContextMenu
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
 Inherited Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
   ユーザーが最初にコンテキストメニューを生成したときに、コンテキストメニューの内容が表示される前に送出されます。ContextMenu
プロパティの詳細
builtInItemsプロパティ
builtInItems:ContextMenuBuiltInItems  [read-write]

ContextMenuBuiltInItems クラスの次のプロパティを持つオブジェクトです。forwardAndBackloopplayprintqualityrewindsave、および zoom。これらのプロパティを false に設定すると、対応するメニューアイテムが、指定した ContextMenu オブジェクトから削除されます。これらのプロパティは列挙することができ、デフォルトでは true に設定されています。

実装
    public function get builtInItems():ContextMenuBuiltInItems
    public function set builtInItems(value:ContextMenuBuiltInItems):void

関連項目

customItemsプロパティ 
customItems:Array  [read-write]

ContextMenuItem オブジェクトの配列です。配列内の各オブジェクトは、定義したカスタムコンテキストメニューアイテムを表します。このプロパティを使用して、これらのカスタムメニューアイテムを追加、削除、変更することができます。

新しいメニューアイテムを追加するには、ContextMenuItem オブジェクトを作成します。次に Array.push() などを使用して、作成したオブジェクトを customItems 配列に追加します。メニューアイテムの作成の詳細については、ContextMenuItem クラスを参照してください。

実装
    public function get customItems():Array
    public function set customItems(value:Array):void

関連項目

コンストラクタの詳細
ContextMenu()コンストラクタ
public 関数 ContextMenu()

ContextMenu オブジェクトを作成します。

関連項目

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

指定された ContextMenu オブジェクトのコピーを作成します。コピーとして作成されたオブジェクトは、元のメニューオブジェクトのすべてのプロパティを継承します。

戻り値
ContextMenu — 元のメニューオブジェクトのすべてのプロパティを持つ ContextMenu オブジェクトです。
hideBuiltInItems()メソッド 
public function hideBuiltInItems():void

[設定] を除き、指定された ContextMenu オブジェクト内のすべてのビルトインメニューアイテムを非表示にします。デバッグ版の Flash Player が実行されている場合、デバッグのメニューアイテムは表示されますが、リモートデバッグが有効化されていない SWF ファイルについてはグレー表示されます。

このメソッドは、標準コンテキストメニューに表示されるメニューアイテムだけを非表示にします。編集メニューおよびエラーメニューに表示されるメニューアイテムには影響しません。

このメソッドは、my_cm.builtInItems のすべてのブール型プロパティを false に設定することにより機能します。ビルトインアイテムを個別に表示するには、my_cm.builtInItems のそのアイテムに対応するメンバーを true に設定します。

関連項目

イベントの詳細
menuSelectevent 
イベントオブジェクトの型: flash.events.ContextMenuEvent
ContextMenuEvent.type property = flash.events.ContextMenuEvent.MENU_SELECT

ユーザーが最初にコンテキストメニューを生成したときに、コンテキストメニューの内容が表示される前に送出されます。これにより、コンテキストメニューを表示する前に、プログラムによってコンテキストメニューアイテムのセットを変更できます。ユーザーは、ポインティングデバイスを右クリックすることにより、コンテキストメニューを生成します。

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

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

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