imgTag

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