combobox コントロール は、ロールアウトに Combobox リストを配置するために使用します。これは、リストが常にロールアウトに完全に表示されるドロップ ダウン リストのバリアントで、現在の選択が配置され、編集可能であるリストの一番上に追加のテキスト編集ボックスがあります。ユーザはリストをスクロールするか、クリックして項目を選択できます。
構文は次のようになります。
combobox <name> [ <caption> ] [items:<array_of_strings>] [selection:<number>] [height:<number>] [toolTip:<string>]
combobox
項目の位置合わせの既定値は、#left
です。
例:
rollout combobox_test "Combo Box" ( combobox scale_cb "Scale" items:#("1/2", "1/4", "1/8", "1/16") on scale_cb selected i do format "You selected '%'!\n" scale_cb.items[i] ) createDialog combobox_test combobox_test.scale_cb.selected = "new item text"
パラメータ
text:
編集ボックスのテキスト文字列です。
items:
リスト内の項目であるテキスト文字列の配列です。
selection:
現在選択されているリスト内の項目番号。基数は 1 です。既定値は 1 です。
height:
項目行の数で示す combobox
全体の高さです。既定値は 10 行です。combobox
で正確に N
個の項目を表示させるには、height を N+2
に設定します。
高さの最小値は 1 行です。
toolTip:
combobox
の編集ボックスのツールチップに使用するテキストを提供します。指定しない場合、ツールチップは表示されません。3ds Max 2017 以降で使用可能です。
プロパティ
<combobox>.caption String
Combobox の上にあるオプションのキャプション テキストです。
<combobox>.text String
編集ボックスのテキストです。
<combobox>.items Array of Strings
項目列の配列です。
<combobox>.selection Integer
現在選択されている項目番号。基数は 1 です。項目のリストが空配列の場合、値は 0 (ゼロ)になります。
<combobox>.selected String
現在選択されている項目のテキストです。items
配列全体をリセットせずに個別の項目を置換するのに使用できます。項目リストが空の配列の場合、この値は undefined
です。
<combobox>.width Integer
コンボ ボックスのリストの幅をピクセル単位で取得/設定します。
<combobox>.height Integer
コンボ ボックスのリストの高さをピクセル単位で取得/設定します。
コンストラクタ パラメータとして、height
: はテキストの行によって高さを指定し、.height
プロパティはコンボボックスの高さをピクセル単位で指定します。
.height
プロパティには、編集テキスト ボックスの高さは含まれません。高さの最小値の設定は 0 ピクセルで固定されています。
イベント
on <combobox> selected <arg> do <expr>
ユーザが Combobox リストで項目を選択したときに呼び出されます。引数 <arg>
には、新しい、現在の選択項目番号が入ります。
on <combobox> doubleClicked <arg> do <expr>
ユーザがリスト内の項目をダブルクリックしたときに呼び出されます。on selected
ハンドラは、クリック、およびダブルクリックの 1 回目のクリックで常に呼び出されるので注意してください。引数 <arg>
には、ダブルクリックされた項目の番号が入ります。
例:
rollout combobox_test "Combo Box" ( combobox scale_cb "Scale" items:#("1/2", "1/4", "1/8", "1/16") on scale_cb doubleClicked itm do format "You double-clicked '%'!\n" scale_cb.items[itm] ) createDialog combobox_test
on <combobox> entered <arg> do <expr>
ユーザが編集ボックス内でテキストを変更し、編集ボックスからフォーカスを移動したときに呼び出されます。このハンドラは、ユーザが[Enter]を押したときは呼び出されません。引数 <arg>
には、編集ボックスの新しいテキストが入ります。
例:
rollout combobox_test "Combo Box" ( combobox scale_cb "Scale" items:#("1/2", "1/4", "1/8", "1/16") on scale_cb entered txt do scale_cb.selected = txt ) createDialog combobox_test
on <combobox> changed <arg> do <expr>
ユーザが編集ボックス内で行った各文字の変更に対して呼び出されます。このハンドラは、ユーザが[Enter]を押したとき、または編集ボックスからフォーカスを移動したときは呼び出されません。引数 <arg>
には、編集ボックスの新しいテキストが入ります。
on <combobox> rightClick do <expr>
ユーザがコンボボックス コントロールを右クリックしたときに呼び出されます。
3ds Max 2010以降で使用可能です。