ロールアウト ユーザ インタフェース コントロールの共通レイアウト パラメータ

 

   

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

ユーティリティやロールアウトで定義されているユーザ インタフェースのレイアウトは、既定では MAXScript により自動的に処理されます。

各インタフェース項目はロールアウト内で順番に下に向かって並べられ、内蔵の 3ds Max パネルのレイアウト規則に従って水平方向および垂直方向に整列されます。

たいていの場合、ユーティリティ パネルに表示されるロールアウトには、横方向に 1 つの項目分の適度なスペースがあるため、これでうまくいきます。

ただし、場合によってはレイアウトを調整したり、自動レイアウトを上書きする場合もあるでしょう。このために、数多くの定義ライン レイアウト パラメータが用意されています。

指定できるユーザ インタフェース要素 <parameters> は項目タイプによって異なり、各タイプのトピックで定義されています。たとえばスピナーの範囲、チェック ボックスの初期状態、リストボックスの内容などです。

ただし、すべてのユーザ インタフェース項目に指定できる一連の共通パラメータもあります。

pos: パラメータを除き、これらのパラメータはユーザ インタフェース項目のプロパティではなく、コントロールの作成後にスクリプトでアクセスまたは変更することはできません。

   

すべてのユーザ インタフェース項目に共通のレイアウト パラメータを次に示します。

align:#left
align:#center
align:#right

ユーザ インタフェース項目をパネルの左、中央あるいは右に位置合わせします。既定値はタイプによって異なります。

   

offset: <point2> default: [0,0]

自動配置に関係するピクセルで[x,y]オフセットを指定します。他のすべてのレイアウト パラメータが適用された後にこれが適用されるので、これを使用して他のパラメータの調整もできます。

   

width: <number> default: varies

ユーザ インタフェース項目をピクセル単位の指定の幅で強制的に配置します。たとえば、ボタンと併用すると有効です。他の方法ではテキスト ラベルにサイズを自己変更します。明示的に幅を指定すると、 text または caption プロパティから計算された幅は常に上書きされます。たとえば、スピナーに固定幅が指定され、この幅がラベルとスピナーの両方に対して小さすぎる場合、スピナーが表示されるように整列が行われるため、テキストが表示されないことがあります。

   

height: <number> default: varies by type

ユーザ インタフェース項目を指定した高さ(一般的にピクセル)にします。これにより、ユーザ インタフェース項目に対して既定で設定されている高さは上書きされます。

例:

button foo "Stop" width:75 height:25

これは非常に大きな「stop」ボタンを作成します。

comboBox dropdownList および listBox ユーザ インタフェース項目の場合は、テキストの行数で高さを指定します。

comboBox で正確に N 個の項目を表示するには、 height N+2 に設定します。

dropdownList で正確に N 個の項目を表示するには、 height N+2 に設定します。

listBox で正確に N 個の項目を表示するには、 height N に設定します。

高さは、 spinner slider のユーザ インタフェース項目には影響を及ぼしません。

   

across: <number> default: 1

   

この項目および次の <number>-1 項目を垂直ではなく、水平に配置します。 <number> は、水平に配置する項目の個数を定義します。次にレイアウトは通常の垂直配置に戻ります。このパラメータは、ユーティリティを与えられた数の同じ幅の列に分割し、項目の通常の位置合わせを使用して、各項目を列の中に配置します。項目の列内でレイアウトをコントロールするために、across: パラメータとともに他のレイアウト パラメータを使用できます。

pos: <point2> default: varies

これによりユーザ インタフェース項目はロールアウト内で固定の[x,y]ピクセル位置に強制的に配置されます。

例:

button foo "foo" align:#right -- default alignment is center
-- align right and bump this button down a bit:
button baz "baz" align:#right offset:[0,6]
-- put b1, b2, b3 across:
checkbutton b1 "yes" across:3
checkbutton b2 "no"
checkbutton b3 "maybe"
-- default alignment is right
spinner s1 "Length:" align:#left

関連事項