メニュー

Q
ポップアップメニューを表示したい

A
[解決方法]
PopupMenuメソッドを利用することでポップアップメニューの表示が出来ます。

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

サンプルでは、タップ&ホールド操作時にポップアップメニューを表示します。
(Biz/Browser Mobile Ver3.0よりタップ&ホールド操作がサポートされました。)
タップ&ホールド機能を有効にするためには、UseTapAndHoldプロパティを$TRUEに設定してください。



[サンプルコード]

Form Form1 {
    X = 0;
    Y = 0;
    Width = 234;
    Height = 278;
    /* タップ&ホールド操作を有効にする */
    UseTapAndHold = $TRUE;
    
    Label Label1 {
        X = 5;
        Y = 10;
        Width = 130;
        Height = 25;
        Border = $TRUE;
        BorderStyle = $ETCHED;
    }
    
    Function func_menuPopup() {

        var top_menu1 = new String(" 登録 ");
        var top_menu2 = new String(" クリア ");
        var top_menu3 = new String("-");  /* セパレータ */
        var top_menu4 = new String("~ 無効表示 ");  /* 先頭に ~ を付加*/
        var top_menu5 = new String("* チェック表示");  /* 先頭に * を付加 */

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

        var obj = top_menu1.getChildObjects();

        var id = popupMenu( top_menu1, top_menu2, top_menu3, top_menu4 );

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

    }
    
    Function OnRClicked( e ) {
        func_menuPopup();
    }

    if ( !$DESIGNTIME ) {
        /* ここに初期化処理を記述してください */
    }
}
管理番号: MenM_002
 
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ