2011-07-27 16 views
0

コンテキストメニューを開始する親/コンポーネントを知る方法はありますか?
私は異なるカスタムコンポーネントを含むパネルを持っています。ユーザーがそれぞれのコンポーネントを右クリックすると、コンテキストメニューからカスタムコンポーネントのそれぞれのポップアップウィンドウを開きたいと思う。コンテキストメニューの親を取得する方法

コンテキストメニューを開始する親カスタムコンポーネントを見つけるにはどうすればよいですか? EX用

カスタムcompoent:1.ラベル、2湖底

コンテキストメニュー項目: 'ラベル' 上で右クリックして[プロパティ

は、アイテムのプロパティを持つコンテキストメニューが開きます'をクリックすると、Labelのプロパティを表示するカスタムpopoupウィンドウが開きます。ボタンの場合は と同様です。

私はコンテキストメニューをクリックしてイベントを聞こうとしていますが、それは役に立ちません。

これを達成する正しい方法は何ですか?

答えて

1

ContextMenuEvent .MENU_SELECTのリスナーを、各コンポーネントの実際のcontextMenuプロパティに追加してみます。ハンドラでは次のようなことができます:

protected function contextMenuEventHandler(cme:ContextMenuEvent):void 
{ 
    var props:ContextMenuItem = new ContextMenuItem("Properties"); 
    props.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, 
    function (event:ContextMenuEvent):void 
    { 
     Alert.show(cme.mouseTarget.toString()); 
    }); 
    cme.contextMenuOwner.contextMenu.customItems.push(props); 
} 

これはその方法の1つです。個人的には、通常、カスタムのコンテキストメニューを事前に作成し、MXMLの各コンポーネントに設定します。しかし、それを動的に行うと(上記のように)、場合によってはより良いかもしれません。

+0

ありがとうございました。私は、各コンポーネントのカスタムコンテキストメニューを設定することは、私の要件のために頼りになると思う。 – Gannesh

関連する問題