MultiListBox

ユーザ インタフェース コントロール > 共通プロパティ > レイアウト > タイプ > MultiListbox

 

   

ユーザ インタフェースの作成 - クイック ナビゲーション

MultiListbox 項目は、リスト ボックスをロールアウトに配置するのに使用します。これは ListBox とは異なり、リスト内の複数の項目を選択できます。

構文は次のようになります。

MultiListBox <name> [<caption>] [items:<array_of_strings>] \
[selection:{<bitarray> | <number_array> | <number>}] \
[height:<number> ] 	 

MultiListBox 項目の位置合わせの既定値は、 #left です。

例:

rollout test "test"
(
  multiListBox mlb "MultiListBox" items:#("A","B","C") selection:#(1,3)
  on mlb selected val do format "selected: % - %\n" val mlb.selection[val]
  on mlb doubleclicked val do format "doubleclicked: % - %\n" val mlb.selection[val]
  on mlb selectionEnd do format "selectionEnd: %\n" mlb.selection
)
rof=newrolloutfloater "tester" 200 300
addrollout test rof
test.mlb.items
test.mlb.selection=1
test.mlb.selection=#(1,3)
test.mlb.selection=#{}

   

パラメータ

items:   

リスト内の項目であるテキスト文字列の配列です。

   

selection: 

リスト内で現在選択されている項目を示す BitArray です。選択の既定値は #{} です。

   

height: 

項目行の数で示す MultiListBox 全体の高さです。既定値は 10 行です。MultiListBox で正確に N 項目を表示するには、高さを N に設定します。

   

プロパティ:

<listbox>.items Array of Strings 

項目列の配列です。

   

<listbox>.selection BitArray 

現在選択されている項目です。スクリプトを使って選択を設定する場合は、BitArray、数字の配列、または数字で選択を指定することができます。項目のリストが空配列の場合、値は 0 (ゼロ)になります。

   

イベント

on <listbox> selected <arg> do <expr> 

ユーザがリスト内の項目を選択または選択解除したときに呼び出されます。<arg> 引数には、選択または選択解除された項目のインデックスが保持されます。複数の項目を一度に選択または選択解除できるため、このハンドラは選択が変更された各項目に対して、リストの先頭から順に呼び出されます。

   

on <listbox> selectionEnd do <expr> 

ユーザがリスト内の項目を選択または選択解除したときに呼び出されますが、on selected ハンドラの呼び出しがすべて終わった後に呼び出されます。

注:

リスト内をクリックしてリストのすべての項目を選択解除する方法はありません。ただし、Ctrl キーを押したまま最後の選択項目をクリックして、すべての項目を選択解除することは可能です。

リストの選択をクリアするには、selection=# を設定する[選択をクリア](Clear Selection)ボタンが必要です。

   

on <listbox> doubleClicked <arg> do <expr> 

ユーザがリスト内の項目をダブルクリックしたときに呼び出されます。on selected ハンドラは、クリック、およびダブルクリックの 1 回目のクリックで常に呼び出されるので注意してください。<arg> 引数には、ダブルクリックされた項目の数が保持されます。

   

on <listbox> rightClick do <expr> 

ユーザが Multilistbox コントロールを右クリックしたときに呼び出されます。

3ds Max 2010 以降 で使用可能です。

関連事項