リストボックスを持つダイアログボックスを開き、ユーザーに項目を選択させる。(バージョン4.78以降)
listbox <message> <title> <string array> [<selected>] [<keyword parameter>...]
listbox マクロコマンドは <string array> の配列要素をすべて選択項目として表示する。
以下のように、表示しようとする選択項目数より大きい要素数で <string array> を定義すると、最後に空文字列が表示される。
strdim msg 4 msg[0] = 'バナナ' msg[1] = 'りんご' msg[2] = 'みかん' listbox '好きな食べ物を選んでください' 'あなたへの問い' msg ; 選択肢が4つ表示される バナナ りんご みかん [空文字列]
(バージョン 4.89 以降)
<selected> を指定する事で、初期状態で選択されている項目を指定する事ができる。
省略した場合は 0 (先頭)が指定されたものとして扱われる。
strdim msg 3 msg[0] = 'バナナ' msg[1] = 'りんご' msg[2] = 'みかん' listbox '好きな食べ物を選んでください' 'あなたへの問い' msg sprintf2 var "%d" result messagebox var "result" ; result ; -1: Cancel ; 0: バナナ ; 1: りんご ; 2: みかん
strdim msg 7 msg[0] = '晴れ' msg[1] = '曇り' msg[2] = '雨' msg[3] = '風' msg[4] = '雪' msg[5] = '霧' msg[6] = '分かりません' ; デフォルトで7番目の項目が選択される listbox '今日の天気はどうですか?' 'あなたへの問い' msg 6 sprintf2 var "%d" result messagebox var "result"
strdim msg 9 selected = 0 msg[0] = "listbox msg[selected] title msg selected 'listboxsize=70x10'" msg[1] = "listbox msg[selected] title msg selected 'listboxsize=70x10' 'dblclick=on'" msg[2] = "listbox msg[selected] title msg selected 'listboxsize=70x10' 'minmaxbutton=on'" msg[3] = "listbox msg[selected] title msg selected 'listboxsize=70x10' 'minimize=on'" msg[4] = "listbox msg[selected] title msg selected 'listboxsize=70x10' 'maximize=on'" msg[5] = "listbox msg[selected] title msg selected 'listboxsize=70x10' 'minmaxbutton=on' 'dblclick=on'" msg[6] = "listbox msg[selected] title msg selected 'listboxsize=100x5'" msg[7] = "listbox msg[selected] title msg selected 'listboxsize=10x20'" msg[8] = "listbox msg[selected] title msg selected" :select sprintf2 title 'selected = %d' selected execcmnd msg[selected] selected=result if selected = -1 then exit endif goto select