English help on website



menu,mousemenu, menuarray, mousemenuarray文(Ver8.97対応版)
目次− menu,mousemenu, menuarray, mousemenuarray文
 menu, mousemenu, menuarray, mousemenuarray文はポップアップメニューを表示します。ユーザが選択したメニューはresultに設定されます。

 menu, menuarray文は、文字カーソルの近くにメニューを表示し、mousemenu, mousemenuarray文はマウスカーソルの近くにメニューを表示します。

 menu, mousemenu文は、以下のようにメニュー項目の文字列をコンマで区切っていくつでも指定することができます。画面に入りきらないくらい項目が多い場合は自動的に折り返して表示されます。
menu 文字列1, 文字列2, ……;
 1番目の項目が選ばれるとresultは1になり、以下同様に2,3……という値になります。ユーザがESCキーなどで取り消した場合のresultは0になります。
menu "細い線", "太い線", "*マーク";
if( result == 0 ) endmacro;
else if( result == 1 ) {
    $char = "\x84\x9F";
} else if( result == 2 ) {
    $char = "\x84\xAA";
} else {
    $char = "*";
}
 menuarray, mousemenuarray文は、配列変数に格納されている値をメニュー項目とみなしてメニューをします。第1パラメータで配列変数の名前、第2パラメータで項目の数を指定します。
menuarray $a, 10;
 この例の場合だと、$a[0]から$a[9]の10個の項目がメニューになって表示されます。第1パラメータには文字列変数の名前以外指定できません。

 セパレータにする場合は、"\x01"という文字列を指定します。(V8.00以降)

 サブメニューにする場合は、"\x01"に続いてサブメニューのメニュー名を記述します。(V8.85以降)
 その後の項目はサブメニュー内の項目として解釈されます。""を指定すると、サブメニューの終了を意味します。

menu
  "\x01サブメニューA",
  "項目A-1",
  "項目A-2",
  "",
  "\x01サブメニューB",
  "項目B-1",
  "項目B-2",
  "",
  "項目C";
$a[0]="\x01サブメニューA";
$a[1]="項目A-1";
$a[2]="項目A-2";
$a[3]="";
$a[4]="\x01サブメニューB";
$a[5]="項目B-1";
$a[6]="項目B-2";
$a[7]="";
$a[8]="項目C";
menuarray $a,9;
参考:
setmenudelay