dropdownlist コントロール は、ドロップダウンリストをロールアウトに配置するために使用します。クリックするとリストを開いてスクロールすることができます。再度クリックすると、リスト内の項目を選択することができます。
構文は次のようになります。
dropdownlist <name> [<caption>] [items:<array_of_strings>] [selection:<number>] [height:<number>] [tooltip:<string>]
dropdownList
項目の位置合わせの既定値は、#left
です。
例:
rollout ddl_test "Drop-Down List" ( dropdownlist scale_dd "Scale" items:#("1/2", "1/4", "1/8", "1/16") on scale_dd selected i do format "You selected '%'!\n" scale_dd.items[i] ) createDialog ddl_test
パラメータ
items:
リスト内の項目であるテキスト文字列の配列です。
selection:
現在選択されているリスト内の項目番号。基数は 1 です。既定値は 1 です。
height:
項目行の数で示す dropdownlist
全体の高さです。既定値は 10 行です。dropdownlist
に N
個の項目を表示させるには、height を N+1
に設定します。
高さの最小値は 1 行です。
例:
rollout test "Test" ( dropdownlist dd "dd"\ items:#("1","2","3","4","5","6","7","8","9","10") height:6 label l "L" ) createDialog test 200 200 --You will get 5 items in the dropdown list. --Change height to 5, and you will get 4.
tooltip:
ドロップダウン リストの上にマウスを置いたときに表示されるツールチップを定義する文字列。3ds Max 2009 以降 で使用可能です。
プロパティ:
<dropdownlist>.items Array
項目列の配列を取得/設定します。
<dropdownlist>.selection Integer
現在選択されている項目番号。基数は 1 です。項目のリストが空配列の場合、値は 0 (ゼロ)になります。
<dropdownlist>.selected String
現在選択されている項目のテキストです。*items*
配列全体を再設定せずに、個々の項目を置換するよう設定できます。項目リストが空の配列の場合、この値は undefined
です。
<dropdownlist>.width Integer
ドロップダウンリストの幅をピクセル単位で取得/設定します。
<dropdownlist>.height Integer
ドロップダウンリストの高さをピクセル単位で取得/設定します。(height: 作成パラメータで予期されている、「行数」とは異なります)
<dropdownlist>.tooltip String
dropdownlist のツールチップを取得/設定します。3ds Max 2009 以降 で使用可能です。
MS Windows のツールチップ実装の制限により、ツールチップ文字列の最初の 80 文字だけが MAXScript に返されます。
ただし、任意の長さのツールチップを設定できます。
イベント
on <dropdownlist> selected <arg> do <expr>
ユーザがドロップダウン リストの項目を選択するときに呼び出されます。<arg>
引数には、新しい現在の選択項目番号が入ります。
イベント ハンドラ関数 selected() は .selected プロパティと同じ名前ですが、効率的に機能を非表示にすることができます。その他のすべての UI コントロールのイベント ハンドラとは異なり、スクリプトの他の部分から機能を呼び出すことはできません。
回避策については、「MAXScript に関する質問と回答」の以下のエントリを参照してください。
dropdownList の Selected ハンドラを関数として呼び出す方法はありますか。
on <dropdownlist> rightClick do <expr>
ユーザがドロップダウン リスト コントロールを右クリックしたときに呼び出されます。
3ds Max 2010以降で使用可能です。