imgTag
ImgTag UI コントロールを使用して、MAXScript のロールアウト内にイメージを配置することができます。Bitmap UI コントロールとは異なり、くぼんだ状態の縁取りがなく、よりスムーズにレイアウトに統合することができます。さらに、透明効果やさまざまなマウス ハンドラがサポートされているため、カスタマイズされたコントロールの設計に使用することができます。
構文は次のようになります。
imgTag <name> [caption] [tooltip:<string>] [style:<key>] [bitmap:<bitmap>] [opacity:<float>] [transparent:<color>] [iconName:<filename>] [iconSize:<point2>]
プロパティ:
<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 では有効でありまん。
ロードするアイコン ファイルのファイル名を指定します。
アイコンのサイズを 100% DPI スケールで指定します。
メソッド:
getIconAsBitmap <iconName> iconSize:<point2> enabled:<bool> on:<bool> applyUIScaling:<bool>
-- defaults values: [24,24], true, false, true
3ds Max 2017 の 新機能 : アイコンが見つかった場合、そのアイコンをビットマップ値として返します。見つからない場合は undefined を返します。
例:
|
b = getIconAsBitmap @"PolyTools\TransformTools\PB_CW"
getIconSizes <iconName> enabled:<bool> on:<bool>
-- defaults values: true, false
|
指定されたアイコン ファイルに対して定義されているアイコン サイズの配列を返します。アイコンが見つからない場合は 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 進数
|
小数区切り
|
バイナリ
|
押されるキー
|
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
|