Combobox UI コントロール

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以降で使用可能です。