マウス

Q
右クリックで表示されるメニューを変更したい
[内容]
右クリックで表示されるメニューを業務に合った内容に変更したい

A
[解決方法]
DisplayObjectクラスのPopupMenuメソッドを利用します。

カスケードメニュー表示や選択肢の無効表示といった指定が可能です。

ただし、TextBoxやEditBox等にフォーカスがある場合の右クリックでは、OSがメニューを表示しますので、これを変更することはできません。
また、メニューは、マウスの位置に表示される仕様となっており、任意の位置に表示させることはできません。




[サンプルコード]

Form Form1 {
    X = 0;
    Y = 0;
    Width = 400;
    Height = 300;

    Spread Spread1 {
        X = 5;
        Y = 5;
        Width = 335;
        Height = 125;
        SpreadRow SpreadRow1[5] {
            Height = 20;
            SpreadColumn SpreadColumn1;
            SpreadColumn SpreadColumn2;
            SpreadColumn SpreadColumn3;

            /* SpreadRowオブジェクトではRClickイベントは発生しません。
               SpreadColumnオブジェクトのRClickedイベントを親の
               SpreadRowオブジェクトで捕捉しています。 */

            Function OnRClicked( e ) {
                /* RClickイベントでは、選択位置は変わりません。
                   このサンプルでは、右クリックされた位置に対して
                   処理を行います。*/
                var row = e.row;
                var col = e.col;
                
                /* ポップアップメニュー表示 */
                ^.^.func_menuPopup( row, col );
            }
        }
    }
    

    Function func_menuPopup( row, col ) {
        var top_menu = new String[5];

        top_menu[0] = " 登録 ";
        top_menu[1] = " クリア ";
        top_menu[2] = "-";  /* セパレータ */
        top_menu[3] = "~ 無効表示 ";  /* 先頭に ~ を付加*/
        top_menu[4] = "* チェック表示";  /* 先頭に * を付加 */

        /* カスケード表示 */
        top_menu[0].append( new String( "○○○○"), "SUB101" );
        top_menu[0].append( new String( "△△△△"), "SUB102" );
        top_menu[0].append( new String( "□□□□"), "SUB103" );

        var obj = top_menu[0].getChildObjects();

        var id = popupMenu( top_menu );

        if( id <= 100 ){
            if( id == 2 ){
                Spread1.SetCell( row, col, "" );
            }
        } else {
            /* メニューで選択された項目の文字列をセルにセットする */
            Spread1.SetCell( row, col, obj[ "SUB" + str(id) ] );
        }

    }

    if ( !$DESIGNTIME ) {
    }
}
管理番号: Mou_003
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ