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

IImageList

COM
IID46eb5926-582e-4017-9fdf-e8998daa0950継承元IUnknown自前メソッド開始 vtbl3

メソッド 29

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

vtbl 3 HRESULT Add(HBITMAP hbmImage, HBITMAP hbmMask, INT* pi)
hbmImageHBITMAPin追加する画像のビットマップハンドルを指定する。
hbmMaskHBITMAPinoptionalマスクとして使用するビットマップハンドルを指定する。マスクが不要な場合は NULL を指定する。
piINT*out追加された画像のインデックスを受け取るポインタである。
vtbl 4 HRESULT ReplaceIcon(INT i, HICON hicon, INT* pi)
iINTin置き換える画像のインデックスを指定する。新規追加する場合は -1 を指定する。
hiconHICONin追加または置換に使用するアイコンのハンドルを指定する。
piINT*out追加または置換された画像のインデックスを受け取るポインタである。
vtbl 5 HRESULT SetOverlayImage(INT iImage, INT iOverlay)
iImageINTinオーバーレイマスクとして使用する画像のインデックスを指定する。
iOverlayINTin割り当てるオーバーレイ番号(1〜15)を指定する。
vtbl 6 HRESULT Replace(INT i, HBITMAP hbmImage, HBITMAP hbmMask)
iINTin置き換える画像のインデックスを指定する。
hbmImageHBITMAPin新しい画像のビットマップハンドルを指定する。
hbmMaskHBITMAPinoptional新しいマスクのビットマップハンドルを指定する。マスクが不要な場合は NULL を指定する。
vtbl 7 HRESULT AddMasked(HBITMAP hbmImage, COLORREF crMask, INT* pi)
hbmImageHBITMAPin追加する画像のビットマップハンドルを指定する。
crMaskCOLORREFinマスクを生成する際に透明色として扱う色を指定する。
piINT*out追加された画像のインデックスを受け取るポインタである。
vtbl 8 HRESULT Draw(IMAGELISTDRAWPARAMS* pimldp)
pimldpIMAGELISTDRAWPARAMS*in描画方法を指定する IMAGELISTDRAWPARAMS 構造体へのポインタである。
vtbl 9 HRESULT Remove(INT i)
iINTin削除する画像のインデックスを指定する。-1 を指定するとすべての画像を削除する。
vtbl 10 HRESULT GetIcon(INT i, DWORD flags, HICON* picon)
iINTinアイコンを取得する画像のインデックスを指定する。
flagsDWORDinアイコンの描画方法を指定するフラグである。
piconHICON*out生成されたアイコンのハンドルを受け取るポインタである。
vtbl 11 HRESULT GetImageInfo(INT i, IMAGEINFO* pImageInfo)
iINTin情報を取得する画像のインデックスを指定する。
pImageInfoIMAGEINFO*out画像情報を受け取る IMAGEINFO 構造体へのポインタである。
vtbl 12 HRESULT Copy(INT iDst, IUnknown* punkSrc, INT iSrc, DWORD uFlags)
iDstINTinコピー先の画像インデックスを指定する。
punkSrcIUnknown*inコピー元のイメージリストを指定する。
iSrcINTinコピー元の画像インデックスを指定する。
uFlagsDWORDinコピーまたは入れ替えの動作を示すフラグを指定する。
vtbl 13 HRESULT Merge(INT i1, IUnknown* punk2, INT i2, INT dx, INT dy, GUID* riid, void** ppv)
i1INTin1番目(基となる)の画像のインデックスを指定する。
punk2IUnknown*in2番目の画像を含むイメージリストを指定する。
i2INTin2番目の画像のインデックスを指定する。
dxINTin2番目の画像の X 方向のオフセットを指定する。
dyINTin2番目の画像の Y 方向のオフセットを指定する。
riidGUID*in取得するインターフェイスの識別子(GUID)を指定する。
ppvvoid**out合成結果の新しいイメージリストのインターフェイスポインタを受け取る出力である。
vtbl 14 HRESULT Clone(GUID* riid, void** ppv)
riidGUID*in取得するインターフェイスの識別子(GUID)を指定する。
ppvvoid**out複製された新しいイメージリストのインターフェイスポインタを受け取る出力である。
vtbl 15 HRESULT GetImageRect(INT i, RECT* prc)
iINTin矩形を取得する画像のインデックスを指定する。
prcRECT*out画像の境界矩形を受け取る RECT 構造体へのポインタである。
vtbl 16 HRESULT GetIconSize(INT* cx, INT* cy)
cxINT*out画像の幅(ピクセル)を受け取るポインタである。
cyINT*out画像の高さ(ピクセル)を受け取るポインタである。
vtbl 17 HRESULT SetIconSize(INT cx, INT cy)
cxINTin画像の幅(ピクセル)を指定する。
cyINTin画像の高さ(ピクセル)を指定する。
vtbl 18 HRESULT GetImageCount(INT* pi)
piINT*outイメージリスト内の画像数を受け取るポインタである。
vtbl 19 HRESULT SetImageCount(DWORD uNewCount)
uNewCountDWORDinイメージリストが保持する画像数を指定する。
vtbl 20 HRESULT SetBkColor(COLORREF clrBk, COLORREF* pclr)
clrBkCOLORREFin新しい背景色を指定する。透明にする場合は CLR_NONE を指定する。
pclrCOLORREF*out以前の背景色を受け取るポインタである。
vtbl 21 HRESULT GetBkColor(COLORREF* pclr)
pclrCOLORREF*out現在の背景色を受け取るポインタである。
vtbl 22 HRESULT BeginDrag(INT iTrack, INT dxHotspot, INT dyHotspot)
iTrackINTinドラッグ画像として使用する画像のインデックスを指定する。
dxHotspotINTinドラッグ画像内のホットスポットの X 座標を指定する。
dyHotspotINTinドラッグ画像内のホットスポットの Y 座標を指定する。
vtbl 23 HRESULT EndDrag()
vtbl 24 HRESULT DragEnter(HWND hwndLock, INT x, INT y)
hwndLockHWNDinoptional描画とロックの対象とするウィンドウのハンドルを指定する。
xINTinドラッグ画像を表示する X 座標を指定する。
yINTinドラッグ画像を表示する Y 座標を指定する。
vtbl 25 HRESULT DragLeave(HWND hwndLock)
hwndLockHWNDinoptionalロックを解除する対象ウィンドウのハンドルを指定する。
vtbl 26 HRESULT DragMove(INT x, INT y)
xINTinドラッグ画像を移動する先の X 座標を指定する。
yINTinドラッグ画像を移動する先の Y 座標を指定する。
vtbl 27 HRESULT SetDragCursorImage(IUnknown* punk, INT iDrag, INT dxHotspot, INT dyHotspot)
punkIUnknown*in新しいドラッグカーソル画像を含むイメージリストを指定する。
iDragINTinカーソルとして使用する画像のインデックスを指定する。
dxHotspotINTin新しいホットスポットの X 座標を指定する。
dyHotspotINTin新しいホットスポットの Y 座標を指定する。
vtbl 28 HRESULT DragShowNolock(BOOL fShow)
fShowBOOLinドラッグ画像を表示する場合は TRUE、非表示にする場合は FALSE を指定する。
vtbl 29 HRESULT GetDragImage(POINT* ppt, POINT* pptHotspot, GUID* riid, void** ppv)
pptPOINT*outoptional現在のドラッグ位置を受け取る POINT 構造体へのポインタである。
pptHotspotPOINT*outoptionalドラッグ画像のホットスポットを受け取る POINT 構造体へのポインタである。
riidGUID*in取得するインターフェイスの識別子(GUID)を指定する。
ppvvoid**outドラッグ画像を保持するイメージリストのインターフェイスポインタを受け取る出力である。
vtbl 30 HRESULT GetItemFlags(INT i, IMAGE_LIST_ITEM_FLAGS* dwFlags)
iINTinフラグを取得する画像のインデックスを指定する。
dwFlagsIMAGE_LIST_ITEM_FLAGS*out画像項目のフラグを受け取るポインタである。
vtbl 31 HRESULT GetOverlayImage(INT iOverlay, INT* piIndex)
iOverlayINTin取得するオーバーレイ番号を指定する。
piIndexINT*outオーバーレイに割り当てられている画像のインデックスを受け取るポインタである。

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 指定が可能。