Win32 API 日本語リファレンス
ホームUI.Controls › IImageList2

IImageList2

COM
IID192b9d83-50fc-457b-90a0-2b82a8b5dae1継承元IImageList自前メソッド開始 vtbl32

公式ドキュメント

IImageList を拡張し、イメージリストの操作および対話のための追加メソッドを提供します。

メソッド 12

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 32 HRESULT Resize(INT cxNewIconSize, INT cyNewIconSize)

現在のイメージのサイズを変更します。

cxNewIconSizeINTin新しいサイズの x 軸方向のピクセル数。
cyNewIconSizeINTin新しいサイズの y 軸方向のピクセル数。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 33 HRESULT GetOriginalSize(INT iImage, DWORD dwFlags, INT* pcx, INT* pcy)

指定したイメージの元のサイズを取得します。

iImageINTin対象イメージのインデックス。
dwFlagsDWORDin

元のサイズを取得するためのフラグ。次のいずれかが有効です。

意味
ILGOS_ALWAYS
0x00000000
常に元のサイズを取得します(処理が遅くなる場合があります)。
ILGOS_FROMSTANDBY
0x00000001
存在するか、スタンバイ状態にある場合のみ取得します。
pcxINT*outx 軸方向のピクセル数へのポインター。
pcyINT*outy 軸方向のピクセル数へのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 34 HRESULT SetOriginalSize(INT iImage, INT cx, INT cy)

指定したイメージの元のサイズを設定します。

iImageINTin対象イメージのインデックス。
cxINTinx 軸方向のピクセル数。
cyINTiny 軸方向のピクセル数。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 35 HRESULT SetCallback(IUnknown* punk)

イメージリストのコールバックを設定します。

punkIUnknown*inoptionalコールバックインターフェイスへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 36 HRESULT GetCallback(GUID* riid, void** ppv)

イメージリストのコールバックオブジェクトを取得します。

riidGUID*in対象の IID への参照。
ppvvoid**outコールバックオブジェクトへのポインターのアドレスを格納します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 37 HRESULT ForceImagePresent(INT iImage, DWORD dwFlags)

指定に従って、イメージを強制的に存在させます。

iImageINTin強制的に存在させるイメージのインデックス。
dwFlagsDWORDin

イメージ強制フラグ。次のいずれかが有効です。

意味
ILFIP_ALWAYS
0x00000000
常にイメージを取得します(処理が遅くなる場合があります)。
ILFIP_FROMSTANDBY
0x00000001
スタンバイ状態にある場合のみ取得します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 38 HRESULT DiscardImages(INT iFirstImage, INT iLastImage, DWORD dwFlags)

指定に従って、リストからイメージを破棄します。

iFirstImageINTin破棄する最初のイメージのインデックス。
iLastImageINTin破棄する最後のイメージのインデックス。
dwFlagsDWORDin

イメージ破棄フラグ。ILDI_STANDBYILDI_PURGE は相互に排他的です。ILDI_RESETACCESS はいずれとも組み合わせることができます。次のうち 1 つ以上が有効です。

意味
ILDI_PURGE
0x00000001
破棄してパージします。
ILDI_STANDBY
0x00000002
スタンバイリストへ破棄します。
ILDI_RESETACCESS
0x00000004
「アクセス済み」フラグをリセットします。
ILDI_QUERYACCESS
0x00000008
アクセスフラグが設定されているかを問い合わせます(ただしリセットはしません)。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 39 HRESULT PreloadImages(IMAGELISTDRAWPARAMS* pimldp)

指定に従って、イメージをプリロードします。

pimldpIMAGELISTDRAWPARAMS*inイメージリストの描画操作に関する情報を含む IMAGELISTDRAWPARAMS 構造体へのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 40 HRESULT GetStatistics(IMAGELISTSTATS* pils)

イメージリストの統計情報構造体を取得します。

pilsIMAGELISTSTATS*inoutIMAGELISTSTATS 構造体へのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 41 HRESULT Initialize(INT cx, INT cy, IMAGELIST_CREATION_FLAGS flags, INT cInitial, INT cGrow)

イメージリストを初期化します。

cxINTin各イメージの幅(ピクセル単位)。
cyINTin各イメージの高さ(ピクセル単位)。
flagsIMAGELIST_CREATION_FLAGSinイメージリスト作成フラグの組み合わせ。
cInitialINTinイメージリストが最初に格納するイメージの数。
cGrowINTinイメージリストが格納できる新しいイメージの数。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 42 HRESULT Replace2(INT i, HBITMAP hbmImage, HBITMAP hbmMask, IUnknown* punk, DWORD dwFlags)

イメージリスト内のイメージを置き換えます。

iINTin置き換えるイメージのインデックス。
hbmImageHBITMAPinイメージを含むビットマップへのハンドル。
hbmMaskHBITMAPinoptionalマスクを含むビットマップへのハンドル。イメージリストでマスクを使用しない場合、このパラメーターは無視されます。
punkIUnknown*inoptionalIUnknown インターフェイスへのポインター。
dwFlagsDWORDin

マスクをイメージに適用する方法を、次の装飾フラグのうち 1 つまたはビットごとの組み合わせで指定します。

意味
ILR_DEFAULT
0x0000
使用しません。
ILR_HORIZONTAL_LEFT
0x0000
水平方向に左揃えします。
ILR_HORIZONTAL_CENTER
0x0001
水平方向に中央揃えします。
ILR_HORIZONTAL_RIGHT
0x0002
水平方向に右揃えします。
ILR_VERTICAL_TOP
0x0000
垂直方向に上揃えします。
ILR_VERTICAL_CENTER
0x0010
垂直方向に中央揃えします。
ILR_VERTICAL_BOTTOM
0x0020
垂直方向に下揃えします。
ILR_SCALE_CLIP
0x0000
何もしません。
ILR_SCALE_ASPECTRATIO
0x0100
拡大縮小します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 43 HRESULT ReplaceFromImageList(INT i, IImageList* pil, INT iSrc, IUnknown* punk, DWORD dwFlags)

あるイメージリスト内のイメージを、別のイメージリストのイメージで置き換えます。

iINTinイメージリスト内の置き換え先イメージのインデックス。これは新しいイメージによって上書きされるイメージです。
pilIImageList*in置き換え元のイメージリストへのポインター。
iSrcINTinpil が指すイメージリスト内の置き換え元イメージのインデックス。
punkIUnknown*inoptionalIUnknown インターフェイスへのポインター。
dwFlagsDWORDin使用しません。0 を指定する必要があります。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IImageList2 "{192B9D83-50FC-457B-90A0-2B82A8B5DAE1}"
#usecom global IImageList2 IID_IImageList2 "{7C476BA2-02B1-48F4-8048-B24619DDC058}"
#comfunc global IImageList2_Resize                32 int,int
#comfunc global IImageList2_GetOriginalSize       33 int,int,var,var
#comfunc global IImageList2_SetOriginalSize       34 int,int,int
#comfunc global IImageList2_SetCallback           35 sptr
#comfunc global IImageList2_GetCallback           36 var,sptr
#comfunc global IImageList2_ForceImagePresent     37 int,int
#comfunc global IImageList2_DiscardImages         38 int,int,int
#comfunc global IImageList2_PreloadImages         39 var
#comfunc global IImageList2_GetStatistics         40 var
#comfunc global IImageList2_Initialize            41 int,int,int,int,int
#comfunc global IImageList2_Replace2              42 int,sptr,sptr,sptr,int
#comfunc global IImageList2_ReplaceFromImageList  43 int,sptr,int,sptr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。