ホーム › UI.Controls › IImageList2
IImageList2
COM公式ドキュメント
IImageList を拡張し、イメージリストの操作および対話のための追加メソッドを提供します。
メソッド 12
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
現在のイメージのサイズを変更します。
| cxNewIconSize | INT | in | 新しいサイズの x 軸方向のピクセル数。 |
| cyNewIconSize | INT | in | 新しいサイズの y 軸方向のピクセル数。 |
戻り値
指定したイメージの元のサイズを取得します。
| iImage | INT | in | 対象イメージのインデックス。 | ||||||
| dwFlags | DWORD | in | 元のサイズを取得するためのフラグ。次のいずれかが有効です。
| ||||||
| pcx | INT* | out | x 軸方向のピクセル数へのポインター。 | ||||||
| pcy | INT* | out | y 軸方向のピクセル数へのポインター。 |
戻り値
指定したイメージの元のサイズを設定します。
| iImage | INT | in | 対象イメージのインデックス。 |
| cx | INT | in | x 軸方向のピクセル数。 |
| cy | INT | in | y 軸方向のピクセル数。 |
戻り値
イメージリストのコールバックを設定します。
| punk | IUnknown* | inoptional | コールバックインターフェイスへのポインター。 |
戻り値
vtbl 36 HRESULT GetCallback(GUID* riid, void** ppv)
イメージリストのコールバックオブジェクトを取得します。
| riid | GUID* | in | 対象の IID への参照。 |
| ppv | void** | out | コールバックオブジェクトへのポインターのアドレスを格納します。 |
戻り値
指定に従って、イメージを強制的に存在させます。
| iImage | INT | in | 強制的に存在させるイメージのインデックス。 | ||||||
| dwFlags | DWORD | in | イメージ強制フラグ。次のいずれかが有効です。
|
戻り値
指定に従って、リストからイメージを破棄します。
| iFirstImage | INT | in | 破棄する最初のイメージのインデックス。 | ||||||||||
| iLastImage | INT | in | 破棄する最後のイメージのインデックス。 | ||||||||||
| dwFlags | DWORD | in | イメージ破棄フラグ。ILDI_STANDBY と ILDI_PURGE は相互に排他的です。ILDI_RESETACCESS はいずれとも組み合わせることができます。次のうち 1 つ以上が有効です。
|
戻り値
vtbl 39 HRESULT PreloadImages(IMAGELISTDRAWPARAMS* pimldp)
指定に従って、イメージをプリロードします。
| pimldp | IMAGELISTDRAWPARAMS* | in | イメージリストの描画操作に関する情報を含む IMAGELISTDRAWPARAMS 構造体へのポインター。 |
戻り値
vtbl 40 HRESULT GetStatistics(IMAGELISTSTATS* pils)
イメージリストの統計情報構造体を取得します。
| pils | IMAGELISTSTATS* | inout | IMAGELISTSTATS 構造体へのポインター。 |
戻り値
イメージリストを初期化します。
| cx | INT | in | 各イメージの幅(ピクセル単位)。 |
| cy | INT | in | 各イメージの高さ(ピクセル単位)。 |
| flags | IMAGELIST_CREATION_FLAGS | in | イメージリスト作成フラグの組み合わせ。 |
| cInitial | INT | in | イメージリストが最初に格納するイメージの数。 |
| cGrow | INT | in | イメージリストが格納できる新しいイメージの数。 |
戻り値
イメージリスト内のイメージを置き換えます。
| i | INT | in | 置き換えるイメージのインデックス。 | ||||||||||||||||||||
| hbmImage | HBITMAP | in | イメージを含むビットマップへのハンドル。 | ||||||||||||||||||||
| hbmMask | HBITMAP | inoptional | マスクを含むビットマップへのハンドル。イメージリストでマスクを使用しない場合、このパラメーターは無視されます。 | ||||||||||||||||||||
| punk | IUnknown* | inoptional | IUnknown インターフェイスへのポインター。 | ||||||||||||||||||||
| dwFlags | DWORD | in | マスクをイメージに適用する方法を、次の装飾フラグのうち 1 つまたはビットごとの組み合わせで指定します。
|
戻り値
vtbl 43 HRESULT ReplaceFromImageList(INT i, IImageList* pil, INT iSrc, IUnknown* punk, DWORD dwFlags)
あるイメージリスト内のイメージを、別のイメージリストのイメージで置き換えます。
| i | INT | in | イメージリスト内の置き換え先イメージのインデックス。これは新しいイメージによって上書きされるイメージです。 |
| pil | IImageList* | in | 置き換え元のイメージリストへのポインター。 |
| iSrc | INT | in | pil が指すイメージリスト内の置き換え元イメージのインデックス。 |
| punk | IUnknown* | inoptional | IUnknown インターフェイスへのポインター。 |
| dwFlags | DWORD | in | 使用しません。0 を指定する必要があります。 |
戻り値
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 指定が可能。#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,sptr,sptr #comfunc global IImageList2_SetOriginalSize 34 int,int,int #comfunc global IImageList2_SetCallback 35 sptr #comfunc global IImageList2_GetCallback 36 sptr,sptr #comfunc global IImageList2_ForceImagePresent 37 int,int #comfunc global IImageList2_DiscardImages 38 int,int,int #comfunc global IImageList2_PreloadImages 39 sptr #comfunc global IImageList2_GetStatistics 40 sptr #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から自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。