API version 1
- ‐

popupMenu

ポップアップメニューを表示します。

呼出形式一覧

呼出形式 説明
integer popupMenu(string menu_1[, string menu_2[, ... menu_N]])

階層化されたStringオブジェクトでメニューを指定します。

メニューの選択肢に自動的に割り当てられたID番号が返ります。

IDは、メニューの先頭要素が1となります。階層化されたメニューは、「上位の要素の値 × 100 + n」がサブメニューのID番号となります。

integer popupMenu(CRS::Common::Core::XmlDocument xmlData) メニュー定義XMLデータでメニューを指定します。
integer popupMenu(CRS::Common::Core::JsonDocument jsonData) メニュー定義JSONデータでメニューを指定します。

戻り値一覧

戻り値 説明
integer

メニュー項目に割り当てられたID値

メニューが選択されなかった場合は、0が返ります。

引数一覧

引数 説明
menu_1

メニューの選択肢を文字列で指定します。

  • "-"を指定すると、セパレータが表示されます。
  • 先頭の1文字に"*"を付加するとチェックマークが表示されます。
  • 先頭の1文字に"~"を付加すると無効表示となり、選択できなくなります。
  • 下位に子オブジェクトを持つオブジェクトを指定すると、階層化されたサブメニューが表示されます。
  • 配列を指定すると、配列要素がメニュー項目として展開されます。
menu_2 メニューの2番目の項目
menu_N メニューのN番目の項目
xmlData メニュー定義XMLデータ
jsonData メニュー定義JSONデータ

例外

なし

メニュー定義XMLの書式

メニュー要素

要素名 説明 親要素 属性
menuitem メニュー要素です。メニューの各項目、サブメニューの親項目になります。 ルート、menuitem id、title、checked、grayed
separator セパレータ要素です。メニューに区切り線を挿入します。 ルート、menuitem なし

メニュー属性

属性名 説明 指定できる値
id メニューIDです。選択されたメニューのIDがメソッドの戻り値になります。 整数値
title メニューに表示されるタイトルです。 文字列
checked チェックマークの有無です。"true"を設定するとメニューの左側にチェックマークが表示されます。 "true"
grayed メニューの有効/無効を指定します。"true"を設定するとメニューが無効状態になります。 "true"

使用例

例1)文字列での指定
var m1 = new String("menu1");  /* id=1 */
var m2 = new String("menu2");  /* id=2 */
var m3 = new String("-");
var m4 = new String("menu3");  /* id=4 */

var s1 = new String("*sub-menu1");  /* id=201 */
var s2 = new String("sub-menu2");   /* id=202 */
var s3 = new String("~sub-menu3");  /* id=203 */
m2.append(s1);
m2.append(s2);
m2.append(s3);

var id = popupMenu(m1, m2, m3, m4);


例2)XMLでの指定
var x = new XmlDocument();
x << xml <<-
<?xml version="1.0" encoding="UTF-8"?>
<menudefine>
    <menuitem id="1" title="menu1" />
    <menuitem id="2" title="menu2" checked="true" />
    <separator />
    <menuitem id="3" title="menu3">
        <menuitem id="11" title="menu11" />
        <menuitem id="12" title="menu12" grayed="true" />
        <separator />
        <menuitem id="13" title="menu13" checked="true">
            <menuitem id="21" title="menu21" />
            <menuitem id="22" title="menu22" />
        </menuitem>
    </menuitem>
</menudefine>
->>;
var id = popupMenu(x);

例3)JSONでの指定
var j = new JsonDocument;
j << json <<-
{
    "menudefine": {
        "menuitem": [
            {
                "@id": "1",
                "@title": "menu1"
            },
            {
                "@checked": "true",
                "@id": "2",
                "@title": "menu2"
            },
            {
                "@id": "3",
                "@title": "menu3",
                "menuitem": [
                    {
                        "@id": "11",
                        "@title": "menu11"
                    },
                    {
                        "@grayed": "true",
                        "@id": "12",
                        "@title": "menu12"
                    },
                    {
                        "@checked": "true",
                        "@id": "13",
                        "@title": "menu13",
                        "menuitem": [
                            {
                                "@id": "21",
                                "@title": "menu21"
                            },
                            {
                                "@id": "22",
                                "@title": "menu22"
                            }
                        ]
                    }
                ],
                "separator": ""
            }
        ],
        "separator": ""
    }
}
->>;

関連項目

XmlDocumentJsonDocument クラス

Object.append メソッド