ImgTag UI コントロールを使用して、MAXScript のロールアウト内にイメージを配置することができます。Bitmap UI コントロールとは異なり、くぼんだ状態の縁取りがなく、よりスムーズにレイアウトに統合することができます。さらに、透明効果やさまざまなマウス ハンドラがサポートされているため、カスタマイズされたコントロールの設計に使用することができます。
構文は次のようになります。
imgTag <name> [caption] [tooltip:<string>] [style:<key>] [bitmap:<bitmap>] [opacity:<float>] [transparent:<color>] [iconName:<filename>] [iconSize:<point2>] [ applyUIScaling:<boolean> ]
プロパティ:
<ImgTag>.tooltip String default:""
<ImgTag>.bitmap Bitmap default:undefined
現在のイメージが表示されます。
<ImgTag>.style Key default:#bmp_stretch
コントロール内でビットマップが表示される方法。
次のいずれかです。
#bmp_stretch #bmp_tile #bmp_center
<ImgTag>.opacity float default:0.0
イメージの全体的な不透明度、0.0 から 1.0 の間に設定できます。
<ImgTag>.transparent color default:(color 0 0 0)
透明として処理されるソース ビットマップ内の RGB カラー。
不透明度と透明度のプロパティは、Windows 2000 以降のみで効果があります。これらのプロパティは、NT では有効でありまん。
<ImgTag>.iconName string
3ds Max システム アイコン リソースからロードするアイコン ファイルのパスを指定します。使用可能なシステム アイコンとそのパスの一覧については、『3ds Max 開発者用ガイド』の「アイコン ガイド」を参照してください。
<ImgTag>.iconSize point2
アイコンのサイズを 100% DPI スケールで指定します。
<ImgTag>.applyUIScaling bool
高 DPI ディスプレイでスケールを適用するかどうかを指定します。
メソッド:
getIconAsBitmap <iconName> iconSize:<point2> enabled:<boolean> on:<boolean> applyUIScaling:<boolean>
-- defaults values: [24,24], true, false, true
3ds Max アイコン リソース内でアイコンが見つかった場合、アイコンをビットマップ値として返します。使用可能なシステム アイコンとそのパスの一覧については、『3ds Max 開発者用ガイド』の「アイコン ガイド」を参照してください。見つからない場合は undefined を返します。 3ds Max 2017 以降で使用可能です。
例
b = getIconAsBitmap @"PolyTools\TransformTools\PB_CW"
getIconSizes <iconName> enabled:<boolean> on:<boolean>
-- defaults values: true, false
3ds Max アイコン リソース内の指定されたアイコン名に対して定義されたアイコン サイズの配列を返します。アイコンが見つからない場合は undefined を返します。
例:
getIconSizes @"PolyTools\TransformTools\PB_CW" #([20,20], [25,25], [30,30], [40,40])
イベント
on <ImgTag> mousedown do <expr>
左のマウス ボタンが押されたときに呼び出されます。
on <ImgTag> mouseup do <expr>
左のマウス ボタンが解放されたときに呼び出されます。
on <ImgTag> click do <expr>
左のマウス ボタンが解放されたときに呼び出されます。
on <ImgTag> dblclick do <expr>
左のマウス ボタンがダブルクリックされたときに呼び出されます。
on <ImgTag> mouseover do <expr>
マウスがイメージ領域に移動するときに呼び出されます。
on <ImgTag> mouseout do <expr>
マウスがイメージ領域から出るときに呼び出されます。
on <ImgTag> rightclick do <expr>
マウスの右ボタンが解放されたときに呼び出されます。3ds Max 8 以降で使用可能です。
on <ImgTag> lbuttondown <Point2> <Flags> do <expr>
左マウス ボタンが押されたときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、以下のビットを組み合わせたフラグ値です。
16 進数 | [小数点揃え] | [Binary] (バイナリ) | 押されるキー |
---|---|---|---|
0x0001 |
1 |
00000001 |
左マウス ボタンが押されている。 |
0x0002 |
2 |
00000010 |
右マウス ボタンが押されている。 |
0x0004 |
4 |
00000100 |
SHIFTキーが押されている。 |
0x0008 |
8 |
00001000 |
CTRLキーが押されている。 |
0x0010 |
16 |
00010000 |
中央のマウス ボタンが押されている。 |
0x0020 |
32 |
00100000 |
1 番目の X ボタンが押されている(マウスの左ボタン)。 |
0x0040 |
64 |
01000000 |
2 番目の X ボタンが押されている(マウスの右ボタン)。 |
次のように bit.get() メソッドを使用して、キーが押されたかどうかを判断できます。
例
rollout ui_imgtag "imgtag" ( local bm = bitmap 50 50 color:red imgtag img_tag "imgtag" bitmap:bm align:#center fn printButtonStates Flags = ( LMB = bit.get Flags 1 RMB = bit.get Flags 2 SHIFT = bit.get Flags 3 CTRL = bit.get Flags 4 MMB = bit.get Flags 5 XB1 = bit.get Flags 6 XB2 = bit.get Flags 7 format "LMB:% MMB:% RMB:% SHIFT:% CTRL:% XB1:% XB2:%\n" LMB MMB RMB SHIFT CTRL XB1 XB2 ) on img_tag lbuttondown v1 v2 do printButtonStates v2 on img_tag mbuttondown v1 v2 do printButtonStates v2 on img_tag rbuttondown v1 v2 do printButtonStates v2 ) createdialog ui_imgtag width:100
on <ImgTag> lbuttonup <Point2> <Flags> do <expr>
左マウス ボタンが解放されたときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
on <ImgTag> lbuttondblclk <Point2> <Flags> do <expr>
左マウス ボタンがダブルクリックされたときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
on <ImgTag> mbuttondown <Point2> <Flags> do <expr>
中央のマウス ボタンが押されたときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
on <ImgTag> mbuttonup <Point2> <Flags> do <expr>
マウスの中央ボタンを解放したときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
on <ImgTag> mbuttondblclk <Point2> <Flags> do <expr>
中央のマウス ボタンがダブルクリックされたときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
on <ImgTag> rbuttondown <Point2> <Flags> do <expr>
中央のマウス ボタンが押されたときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
on <ImgTag> rbuttonup <Point2> <Flags> do <expr>
マウスの中央ボタンを解放したときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
on <ImgTag> rbuttondblclk <Point2> <Flags> do <expr>
中央のマウス ボタンがダブルクリックされたときに呼び出されます。3ds Max 8 以降で使用可能です。
1 番目の引数は、ImgTag 内の 0 を基点とするピクセル座標を表す Point2 値を含みます。
2 番目の引数は、上述のフラグ値です。
例:
rcmenu MyRCmenu ( menuItem mi_cs "First Option" checked:false menuItem mi_rs "Second Option" checked:false ) rollout ui_items "ui items" ( button a2 "button" on a2 rightClick do print a2 checkbutton a4 "checkbutton" on a4 rightClick do print a4 local bm = bitmap 50 50 color:red imgtag b5 "imgtag" bitmap:bm align:#center on b5 mousedown v1 v2 do format "% ; % ; % ; %\n" b5 #mousedown v1 v2 on b5 lbuttondown v1 v2 do format "% ; % ; % ; %\n" b5 #lbuttondown v1 v2 on b5 mbuttondown v1 v2 do format "% ; % ; % ; %\n" b5 #mbuttondown v1 v2 on b5 rightClick v1 v2 do format "% ; % ; % ; %\n" b5 #rightClick v1 v2 on b5 rbuttondown v1 v2 do format "% ; % ; % ; %\n" b5 #rbuttondown v1 v2 on b5 mouseup v1 v2 do format "% ; % ; % ; %\n" b5 #mouseup v1 v2 on b5 click v1 v2 do format "% ; % ; % ; %\n" b5 #click v1 v2 on b5 lbuttonup v1 v2 do format "% ; % ; % ; %\n" b5 #lbuttonup v1 v2 on b5 mbuttonup v1 v2 do format "% ; % ; % ; %\n" b5 #mbuttonup v1 v2 on b5 rbuttonup v1 v2 do format "% ; % ; % ; %\n" b5 #rbuttonup v1 v2 on b5 dblclick v1 v2 do format "% ; % ; % ; %\n" b5 #dblclick v1 v2 on b5 lbuttondblclk v1 v2 do format "% ; % ; % ; %\n" b5 #lbuttondblclk v1 v2 on b5 mbuttondblclk v1 v2 do format "% ; % ; % ; %\n" b5 #mbuttondblclk v1 v2 on b5 rbuttondblclk v1 v2 do format "% ; % ; % ; %\n" b5 #rbuttondblclk v1 v2 on b5 mouseout v1 v2 do format "% ; % ; % ; %\n" b5 #mouseout v1 v2 on b5 mouseover v1 v2 do format "% ; % ; % ; %\n" b5 #mouseover v1 v2 mapbutton a11 "mapButton" on a11 rightClick do print a11 materialbutton a12 "materialbutton" on a12 rightClick do print a12 pickbutton a13 "pickbutton" on a13 rightClick do (print a13; popupmenu MyRCmenu) ) createdialog ui_items width:100