menuarray文(Ver9.35対応版)
目次−
menuarray文
menuarray文は、ポップアップメニューを表示します。
- パラメータ1(文字列型の配列の変数名)
-
配列の変数名を指定します。
$a[0] $a[1] ... という配列の場合、角括弧を除いて、$aと記述します。
$a+$bといったような式を指定することはできません。
- パラメータ2(数値型)
-
配列の要素数を指定します。
- 結果コード
-
メニューを選択した場合、resultは1から数えた項目の値になります。
選択しなかった場合、resultは0になります。
機能は
menu文と同じで、パラメータを配列で指定する方式の文です。
文字カーソルの近くにメニューを表示します。
例 |
$a[0] = "項目A";
$a[1] = "項目B";
$a[2] = "項目C";
menuarray $a, 3;
if( result == 0 ) {
endmacro;
} else if( result == 1 ) {
message "Aが選ばれました。";
} else if( result == 2 ) {
message "Bが選ばれました。";
} else if( result == 3 ) {
message "Cが選ばれました。";
}
|
この例の場合だと、$a[0]から$a[2]の3個の項目がメニューになって表示されます。
マウスカーソルの近くにメニューを表示するには
mousemenuarray文を使います。
iskeydownで、例えばCtrl+何かのキーに割り当てられた実行かどうかで処理を分ける方法があります。
例 |
$a[0] = "項目A";
$a[1] = "項目B";
$a[2] = "項目C";
if(iskeydown(0x11)){
menuarray $a, 3;
} else {
mousemenuarray $a, 3;
}
|
セパレータにする場合は、"\x01"という文字列を指定します。(V8.00以降)
サブメニューにする場合は、"\x01"に続いてサブメニューのメニュー名を記述します。(V8.85以降)
その後の項目はサブメニュー内の項目として解釈されます。""を指定すると、サブメニューの終了を意味します。
例 |
$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;
message str(result);
|
参考:
setmenudelay