0

javascript からの右クリックを停止する以外に、フレックス コンテキスト メニューにサブメニューを作成する回避策はありますか。

よろしく、


こんにちはフランク、

はい、コンテキスト メニューにサブメニューを作成します。ここで私を助けてくれませんか。

よろしく、


こんにちはフランク、

データグリッド用ではなく、アプリケーション用のコンテキスト メニューが必要です。

私の最初の質問では、「JavaScript から右クリックを停止する以外」というフレーズは、

「htmlで右クリックをキャッチし、javascript関数を呼び出し、jsを介してas関数を呼び出します。」

指定したプロジェクトは、上記の手順を実行します。これは使いたくない

手順。フレックスコンテキストメニューでサブメニューを実現する他の方法はありますか? 出来ますか

もしそうなら教えてください..

よろしく、 アービンド

4

1 に答える 1

0

はいあります。

私にはわかりませんが、これであなたが正確に何を意味しているのか:

JavaScriptからの右クリックを止める以外。

ただし、サブメニューにエントリを作成する場合は、次のようにします。

//Instance of my own class
private var myContext:myContextMenu = new myContextMenu();
application.contextMenu = myContext.myContextMenu;

//Here is the Class:
package com.my.components
{
    /* ////////////////////////////////////////////
    ///// My Context Menü /////////////////////
    ///////////////////////////////////////////////

    /////////////////////////////////////////////////////////////////////////////////
    //to use:                                                                      //
    // private var myContext:MyContextMenu = new MyContextMenu();                  //
    // init() in creationComplete                                                  //
    // application.contextMenu = myContext.myContextMenu;                          //
    ////////////////////////////////////////////////////////////////////////////// */


    import flash.display.Sprite;
    import flash.events.ContextMenuEvent;
    import flash.net.URLRequest;
    import flash.net.navigateToURL;
    import flash.text.TextField;
    import flash.ui.ContextMenu;
    import flash.ui.ContextMenuBuiltInItems;
    import flash.ui.ContextMenuItem;

    public class MyContextMenu extends Sprite
    {

        public var myContextMenu:ContextMenu;
        private var menuLabel:String = String.fromCharCode(169)+" My Company GmbH";

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

            super();
        }

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

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

        private function menuSelectHandler(event:ContextMenuEvent):void
        {
        }

        private function menuItemSelectHandler(event:ContextMenuEvent):void
        {
            navigateToURL(new URLRequest('http://www.my-company.de'));
        }

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

楽しむ

編集:ここ に興味深いプロジェクトがあります。彼らはhtmlで右クリックをキャッチし、javascript関数を呼び出し、jsを介してas関数を呼び出します。

残念ながら、FP または NativeMenu APi の制限により、レベルのコンテキストメニューでのみ許可されました。ここを読む

フランク

于 2011-02-02T10:14:10.740 に答える