IImageList
COM公式ドキュメント
イメージリストを操作したり、イメージリストとやり取りしたりするためのメソッドを公開します。
メソッド 29
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
イメージリストに 1 つまたは複数のイメージを追加します。(IImageList.Add)
| hbmImage | HBITMAP | in | イメージを含むビットマップへのハンドルです。イメージの数はビットマップの幅から推測されます。 |
| hbmMask | HBITMAP | inoptional | マスクを含むビットマップへのハンドルです。イメージリストでマスクを使用しない場合、このパラメーターは無視されます。 |
| pi | INT* | out | このメソッドが返るとき、最初の新しいイメージのインデックスへのポインターが格納されます。新しいイメージの追加に失敗した場合、この値は -1 になります。 |
戻り値
解説(Remarks)
IImageList::Add はビットマップを内部データ構造にコピーします。メソッドが返った後、DeleteObject 関数を使用して hbmImage と hbmMask を削除する必要があります。
IImageList::Add を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージをアイコンまたはカーソルで置き換えます。(IImageList.ReplaceIcon)
| i | INT | in | 置き換えるイメージのインデックスを含む int 型の値です。i が -1 の場合、この関数はイメージをリストの末尾に追加します。 |
| hicon | HICON | in | 新しいイメージのビットマップとマスクを含むアイコンまたはカーソルへのハンドルです。 |
| pi | INT* | out | 成功した場合は返り時にイメージのインデックスを格納する int へのポインター、そうでない場合は -1 が格納されます。 |
戻り値
解説(Remarks)
システムは hicon を保存しないため、アイコンまたはカーソルが CreateIcon によって作成されたものであれば、関数が返った後に破棄できます。LoadIcon 関数によって読み込まれたものであれば、hicon を破棄する必要はありません。アイコンリソースが不要になると、システムが自動的に解放します。
IImageList::ReplaceIcon を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
指定したイメージを、オーバーレイマスクとして使用されるイメージのリストに追加します。
| iImage | INT | in | イメージリスト内のイメージのゼロ始まりのインデックスを含む int 型の値です。このインデックスは、オーバーレイマスクとして使用するイメージを識別します。 |
| iOverlay | INT | in | オーバーレイマスクの 1 始まりのインデックスを含む int 型の値です。 |
戻り値
解説(Remarks)
オーバーレイマスクとは、別のイメージの上に透過的に描画されるイメージのことです。イメージの上にオーバーレイマスクを描画するには、IImageList::Draw を呼び出します。これらの関数の fStyle パラメーターでは、INDEXTOOVERLAYMASK マクロを使用してオーバーレイマスクのインデックスを指定できます。
イメージリストがマスクを使用して作成されていない限り、このメソッドの呼び出しは失敗し、E_INVALIDARG を返します。
IImageList::SetOverlayImage を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリスト内のイメージを新しいイメージで置き換えます。(IImageList.Replace)
| i | INT | in | 置き換えるイメージのインデックスを含む int 型の値です。 |
| hbmImage | HBITMAP | in | イメージを含むビットマップへのハンドルです。 |
| hbmMask | HBITMAP | inoptional | マスクを含むビットマップへのハンドルです。イメージリストでマスクを使用しない場合、このパラメーターは無視されます。 |
戻り値
解説(Remarks)
IImageList::Replace はビットマップを内部データ構造にコピーします。メソッドが返った後、DeleteObject を使用して hbmImage と hbmMask を削除する必要があります。
IImageList::Replace を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
指定したビットマップからマスクを生成しながら、イメージリストに 1 つまたは複数のイメージを追加します。(IImageList.AddMasked)
| hbmImage | HBITMAP | in | 1 つまたは複数のイメージを含むビットマップへのハンドルです。イメージの数はビットマップの幅から推測されます。 |
| crMask | COLORREF | in | マスクの生成に使用する色です。指定したビットマップ内でこの色を持つ各ピクセルは黒に変更され、マスク内の対応するビットが 1 に設定されます。このパラメーターが CLR_DEFAULT の場合、(0,0) のピクセルの色がマスクとして使用されます。 |
| pi | INT* | out | 成功した場合は返り時に最初の新しいイメージのインデックスを含む int へのポインター、そうでない場合は -1 が格納されます。 |
戻り値
解説(Remarks)
IImageList::AddMasked を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
指定したデバイスコンテキストにイメージリストの項目を描画します。(IImageList.Draw)
| pimldp | IMAGELISTDRAWPARAMS* | in | 描画パラメーターを含む IMAGELISTDRAWPARAMS 構造体へのポインターです。 |
戻り値
解説(Remarks)
オーバーレイイメージは、IMAGELISTDRAWPARAMS の i パラメーターで指定されたプライマリイメージの上に透過的に描画されます。オーバーレイイメージは、IMAGELISTDRAWPARAMS の fStyle パラメーターで、INDEXTOOVERLAYMASK マクロを使用してオーバーレイイメージの 1 始まりのインデックスをシフトすることで指定します。OR 演算子を使用して、このマクロの返り値を fStyle で指定した描画スタイルフラグと組み合わせます。あらかじめ IImageList::SetOverlayImage を使用して、このイメージをオーバーレイイメージとして指定しておく必要があります。
IImageList::Draw を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリストからイメージを削除します。(IImageList.Remove)
| i | INT | in | 削除するイメージのインデックスを含む int 型の値です。このパラメーターが -1 の場合、メソッドはすべてのイメージを削除します。 |
戻り値
解説(Remarks)
イメージが削除されると、残りのイメージのインデックスは、常にゼロからイメージリスト内のイメージ数より 1 少ない値までの範囲になるように調整されます。たとえば、インデックス 0 のイメージを削除すると、イメージ 1 がイメージ 0 に、イメージ 2 がイメージ 1 に、というようになります。
IImageList::Remove を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリスト内のイメージとマスクからアイコンを作成します。
| i | INT | in | イメージのインデックスを含む int 型の値です。 |
| flags | DWORD | in | 描画スタイルを指定するフラグの組み合わせです。値の一覧については、IImageList::Draw を参照してください。 |
| picon | HICON* | out | 成功した場合はアイコンへのハンドルを含む int へのポインター、そうでない場合は NULL が格納されます。 |
戻り値
解説(Remarks)
呼び出し元のアプリケーションは、このメソッドから返されたアイコンを DestroyIcon を使用して破棄する必要があります。
IImageList::GetIcon を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージに関する情報を取得します。
| i | INT | in | イメージのインデックスを含む int 型の値です。 |
| pImageInfo | IMAGEINFO* | out | イメージに関する情報を受け取る IMAGEINFO 構造体へのポインターです。この構造体内の情報を使用して、イメージのビットマップを直接操作できます。 |
戻り値
解説(Remarks)
IImageList::GetImageInfo を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
指定したイメージリストからイメージをコピーします。
| iDst | INT | in | コピー操作のコピー先イメージのゼロ始まりのインデックスを含む int 型の値です。 |
| punkSrc | IUnknown* | in | コピー元イメージリストの IUnknown インターフェイスへのポインターです。 |
| iSrc | INT | in | コピー操作のコピー元イメージのゼロ始まりのインデックスを含む int 型の値です。 |
| uFlags | DWORD | in | 実行するコピー操作の種類を指定する値です。 |
戻り値
解説(Remarks)
uFlags パラメーターには次の値を指定できます。
| 値 | 説明 |
|---|---|
| ILCF_MOVE | コピー元イメージがコピー先イメージのインデックスにコピーされます。この操作の結果、特定のイメージの複数のインスタンスが生じます。 |
| ILCF_SWAP | コピー元イメージとコピー先イメージがイメージリスト内で位置を入れ替えます。 |
IImageList::Copy を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
既存の 2 つのイメージを組み合わせて新しいイメージを作成します。このメソッドは、そのイメージを格納する新しいイメージリストも作成します。
| i1 | INT | in | 1 つ目の既存イメージのインデックスを含む int 型の値です。 |
| punk2 | IUnknown* | in | 2 つ目のイメージを含むイメージリストの IUnknown インターフェイスへのポインターです。 |
| i2 | INT | in | 2 つ目の既存イメージのインデックスを含む int 型の値です。 |
| dx | INT | in | 1 つ目のイメージに対する 2 つ目のイメージのオフセットの x 成分を含む int 型の値です。 |
| dy | INT | in | 1 つ目のイメージに対する 2 つ目のイメージのオフセットの y 成分を含む int 型の値です。 |
| riid | GUID* | in | 新しいイメージリストのインターフェイスの IID です。 |
| ppv | void** | out | 新しいイメージリストのインターフェイスへの生ポインターです。 |
戻り値
解説(Remarks)
新しいイメージは、1 つ目のイメージの上に 2 つ目のイメージを透過的に描画したもので構成されます。新しいイメージのマスクは、既存の 2 つのイメージのマスクをビット単位の OR 演算子で組み合わせて得られます。
IImageList::Merge を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
既存のイメージリストを複製します。
| riid | GUID* | in | 新しいイメージリストの IID です。 |
| ppv | void** | out | 新しいイメージリストのインターフェイスへのポインターのアドレスです。 |
戻り値
解説(Remarks)
IImageList::Clone を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージのバウンディング矩形を取得します。
| i | INT | in | イメージのインデックスを含む int 型の値です。 |
| prc | RECT* | out | メソッドが返るときにバウンディング矩形を格納する RECT へのポインターです。 |
戻り値
解説(Remarks)
IImageList::GetImageRect を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリスト内のイメージの寸法を取得します。イメージリスト内のすべてのイメージは同じ寸法を持ちます。
| cx | INT* | out | 各イメージの幅 (ピクセル単位) を受け取る int へのポインターです。 |
| cy | INT* | out | 各イメージの高さ (ピクセル単位) を受け取る int へのポインターです。 |
戻り値
解説(Remarks)
IImageList::GetIconSize を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリスト内のイメージの寸法を設定し、リストからすべてのイメージを削除します。(IImageList.SetIconSize)
| cx | INT | in | イメージリスト内のイメージの幅 (ピクセル単位) を含む int 型の値です。イメージリスト内のすべてのイメージは同じ寸法を持ちます。 |
| cy | INT | in | イメージリスト内のイメージの高さ (ピクセル単位) を含む int 型の値です。イメージリスト内のすべてのイメージは同じ寸法を持ちます。 |
戻り値
解説(Remarks)
IImageList::SetIconSize を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリスト内のイメージ数を取得します。
| pi | INT* | out | メソッドが返るときにイメージ数を格納する int へのポインターです。 |
戻り値
解説(Remarks)
IImageList::GetImageCount を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
既存のイメージリストのサイズを変更します。(IImageList.SetImageCount)
| uNewCount | DWORD | in | イメージリストの新しいサイズを指定する値です。 |
戻り値
解説(Remarks)
アプリケーションがこのメソッドを使用してイメージリストを拡張する場合、IImageList::Replace を使用して新しいイメージを追加する必要があります。アプリケーションが新しいインデックスに有効なイメージを追加しない場合、新しいインデックスを使用する描画操作の結果は予測できません。
このメソッドを使用してイメージリストのサイズを縮小する場合、収まらなくなったリスト末尾のイメージはリストから切り捨てられます。この方法で切り捨てられたイメージは自動的に解放されます。
IImageList::SetImageCount を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリストの背景色を設定します。
| clrBk | COLORREF | in | 設定する背景色です。このパラメーターが CLR_NONE に設定されている場合、イメージはマスクを使用して透過的に描画されます。 |
| pclr | COLORREF* | out | 成功した場合は返り時に以前の背景色を格納する COLORREF へのポインター、そうでない場合は CLR_NONE が格納されます。 |
戻り値
解説(Remarks)
IImageList::SetBkColor を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージリストの現在の背景色を取得します。
| pclr | COLORREF* | out | メソッドが返るときに背景色を格納する COLORREF へのポインターです。 |
戻り値
解説(Remarks)
IImageList::GetBkColor を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージのドラッグを開始します。(IImageList.BeginDrag)
| iTrack | INT | in | ドラッグするイメージのインデックスを含む int 型の値です。 |
| dxHotspot | INT | in | イメージの左上隅を基準とするドラッグ位置の x 成分を含む int 型の値です。 |
| dyHotspot | INT | in | イメージの左上隅を基準とするドラッグ位置の y 成分を含む int 型の値です。 |
戻り値
解説(Remarks)
IImageList::BeginDrag は、ドラッグに使用する一時的なイメージリストを作成します。以降の WM_MOUSEMOVE メッセージに応答して、IImageList::DragMove を使用してドラッグイメージを移動できます。ドラッグ操作を終了するには、IImageList::EndDrag を使用します。
IImageList::BeginDrag を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
ドラッグ操作を終了します。(IImageList.EndDrag)
戻り値
解説(Remarks)
IImageList::EndDrag を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
ドラッグ操作中に指定したウィンドウの更新をロックし、ウィンドウ内の指定した位置にドラッグイメージを表示します。(IImageList.DragEnter)
| hwndLock | HWND | inoptional | ドラッグイメージを所有するウィンドウへのハンドルです。 |
| x | INT | in | ドラッグイメージを表示する x 座標です。座標はウィンドウのクライアント領域ではなく、左上隅を基準とします。 |
| y | INT | in | ドラッグイメージを表示する y 座標です。座標はウィンドウのクライアント領域ではなく、左上隅を基準とします。 |
戻り値
解説(Remarks)
ドラッグ操作を開始するには、IImageList::BeginDrag を使用します。
IImageList::DragEnter を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
指定したウィンドウのロックを解除してドラッグイメージを非表示にし、ウィンドウを更新できるようにします。
| hwndLock | HWND | inoptional | ドラッグイメージを含むウィンドウへのハンドルです。 |
戻り値
解説(Remarks)
IImageList::DragLeave を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
ドラッグアンドドロップ操作中にドラッグされているイメージを移動します。この関数は通常、WM_MOUSEMOVE メッセージに応答して呼び出されます。(IImageList.DragMove)
| x | INT | in | ドラッグイメージが表示される x 座標を含む int 型の値です。座標はウィンドウのクライアント領域ではなく、左上隅を基準とします。 |
| y | INT | in | ドラッグイメージが表示される y 座標を含む int 型の値です。座標はウィンドウのクライアント領域ではなく、左上隅を基準とします。 |
戻り値
解説(Remarks)
ドラッグ操作を開始するには、IImageList::BeginDrag メソッドを使用します。
IImageList::DragMove を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
指定したイメージ (通常はマウスカーソルのイメージ) を現在のドラッグイメージと組み合わせて、新しいドラッグイメージを作成します。
| punk | IUnknown* | in | ドラッグイメージと組み合わせる新しいイメージを含むイメージリストインターフェイスにアクセスする、IUnknown インターフェイスへのポインターです。 |
| iDrag | INT | in | ドラッグイメージと組み合わせる新しいイメージのインデックスを含む int 型の値です。 |
| dxHotspot | INT | in | 新しいイメージ内のホットスポットの x 成分を含む int 型の値です。 |
| dyHotspot | INT | in | 新しいイメージ内のホットスポットの x 成分を含む int 型の値です。 |
戻り値
解説(Remarks)
IImageList::SetDragCursorImage を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
ドラッグされているイメージを表示または非表示にします。(IImageList.DragShowNolock)
| fShow | BOOL | in | ドラッグされているイメージを表示するか非表示にするかを指定する値です。イメージを表示するには TRUE、非表示にするには FALSE を指定します。 |
戻り値
解説(Remarks)
IImageList::DragShowNolock を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
ドラッグイメージに使用される一時的なイメージリストを取得します。この関数は、現在のドラッグ位置と、ドラッグ位置を基準とするドラッグイメージのオフセットも取得します。
| ppt | POINT* | outoptional | 現在のドラッグ位置を受け取る POINT 構造体へのポインターです。NULL にすることもできます。 |
| pptHotspot | POINT* | outoptional | ドラッグ位置を基準とするドラッグイメージのオフセットを受け取る POINT 構造体へのポインターです。NULL にすることもできます。 |
| riid | GUID* | in | イメージリストの IID です。 |
| ppv | void** | out | 成功した場合はイメージリストのインターフェイスへのポインターのアドレス、そうでない場合は NULL です。 |
戻り値
解説(Remarks)
一時的なイメージリストは、IImageList::EndDrag が呼び出されると破棄されます。ドラッグ操作を開始するには、IImageList::BeginDrag を使用します。
IImageList::GetDragImage を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
イメージのフラグを取得します。
| i | INT | in | フラグを取得するイメージのインデックスを含む int 型の値です。 | ||||||
| dwFlags | IMAGE_LIST_ITEM_FLAGS* | out | メソッドが返るときにフラグを格納する DWORD へのポインターです。次のいずれかの値です。
|
戻り値
解説(Remarks)
IImageList::GetItemFlags を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
オーバーレイマスクとして使用されるイメージのリストから、指定したイメージを取得します。
| iOverlay | INT | in | オーバーレイマスクの 1 始まりのインデックスを含む int 型の値です。 |
| piIndex | INT* | out | イメージリスト内のイメージのゼロ始まりのインデックスを受け取る int へのポインターです。このインデックスは、オーバーレイマスクとして使用されるイメージを識別します。 |
戻り値
解説(Remarks)
IImageList::GetOverlayImage を使用するには、マニフェストで Comctl32.dll バージョン 6 を指定してください。マニフェストの詳細については、Enabling Visual Styles を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IImageList "{46EB5926-582E-4017-9FDF-E8998DAA0950}" #usecom global IImageList IID_IImageList "{7C476BA2-02B1-48F4-8048-B24619DDC058}" #comfunc global IImageList_Add 3 sptr,sptr,var #comfunc global IImageList_ReplaceIcon 4 int,sptr,var #comfunc global IImageList_SetOverlayImage 5 int,int #comfunc global IImageList_Replace 6 int,sptr,sptr #comfunc global IImageList_AddMasked 7 sptr,int,var #comfunc global IImageList_Draw 8 var #comfunc global IImageList_Remove 9 int #comfunc global IImageList_GetIcon 10 int,int,sptr #comfunc global IImageList_GetImageInfo 11 int,var #comfunc global IImageList_Copy 12 int,sptr,int,int #comfunc global IImageList_Merge 13 int,sptr,int,int,int,var,sptr #comfunc global IImageList_Clone 14 var,sptr #comfunc global IImageList_GetImageRect 15 int,var #comfunc global IImageList_GetIconSize 16 var,var #comfunc global IImageList_SetIconSize 17 int,int #comfunc global IImageList_GetImageCount 18 var #comfunc global IImageList_SetImageCount 19 int #comfunc global IImageList_SetBkColor 20 int,var #comfunc global IImageList_GetBkColor 21 var #comfunc global IImageList_BeginDrag 22 int,int,int #comfunc global IImageList_EndDrag 23 #comfunc global IImageList_DragEnter 24 sptr,int,int #comfunc global IImageList_DragLeave 25 sptr #comfunc global IImageList_DragMove 26 int,int #comfunc global IImageList_SetDragCursorImage 27 sptr,int,int,int #comfunc global IImageList_DragShowNolock 28 int #comfunc global IImageList_GetDragImage 29 var,var,var,sptr #comfunc global IImageList_GetItemFlags 30 int,var #comfunc global IImageList_GetOverlayImage 31 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IImageList "{46EB5926-582E-4017-9FDF-E8998DAA0950}" #usecom global IImageList IID_IImageList "{7C476BA2-02B1-48F4-8048-B24619DDC058}" #comfunc global IImageList_Add 3 sptr,sptr,sptr #comfunc global IImageList_ReplaceIcon 4 int,sptr,sptr #comfunc global IImageList_SetOverlayImage 5 int,int #comfunc global IImageList_Replace 6 int,sptr,sptr #comfunc global IImageList_AddMasked 7 sptr,int,sptr #comfunc global IImageList_Draw 8 sptr #comfunc global IImageList_Remove 9 int #comfunc global IImageList_GetIcon 10 int,int,sptr #comfunc global IImageList_GetImageInfo 11 int,sptr #comfunc global IImageList_Copy 12 int,sptr,int,int #comfunc global IImageList_Merge 13 int,sptr,int,int,int,sptr,sptr #comfunc global IImageList_Clone 14 sptr,sptr #comfunc global IImageList_GetImageRect 15 int,sptr #comfunc global IImageList_GetIconSize 16 sptr,sptr #comfunc global IImageList_SetIconSize 17 int,int #comfunc global IImageList_GetImageCount 18 sptr #comfunc global IImageList_SetImageCount 19 int #comfunc global IImageList_SetBkColor 20 int,sptr #comfunc global IImageList_GetBkColor 21 sptr #comfunc global IImageList_BeginDrag 22 int,int,int #comfunc global IImageList_EndDrag 23 #comfunc global IImageList_DragEnter 24 sptr,int,int #comfunc global IImageList_DragLeave 25 sptr #comfunc global IImageList_DragMove 26 int,int #comfunc global IImageList_SetDragCursorImage 27 sptr,int,int,int #comfunc global IImageList_DragShowNolock 28 int #comfunc global IImageList_GetDragImage 29 sptr,sptr,sptr,sptr #comfunc global IImageList_GetItemFlags 30 int,sptr #comfunc global IImageList_GetOverlayImage 31 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。