102 lines
2.9 KiB
Plaintext
102 lines
2.9 KiB
Plaintext
// CommonControls.idl
|
|
//
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
cpp_quote("#ifdef MIDL_PASS")
|
|
typedef DWORD RGBQUAD;
|
|
|
|
typedef IUnknown* HIMAGELIST;
|
|
cpp_quote("typedef struct _IMAGELIST* HIMAGELIST;")
|
|
|
|
typedef struct
|
|
{
|
|
DWORD cbSize;
|
|
HIMAGELIST himl;
|
|
int i;
|
|
HDC hdcDst;
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
int xBitmap; // x offest from the upperleft of bitmap
|
|
int yBitmap; // y offset from the upperleft of bitmap
|
|
COLORREF rgbBk;
|
|
COLORREF rgbFg;
|
|
UINT fStyle;
|
|
DWORD dwRop;
|
|
DWORD fState;
|
|
DWORD Frame;
|
|
COLORREF crEffect;
|
|
} IMAGELISTDRAWPARAMS;
|
|
|
|
typedef IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS;
|
|
typedef struct
|
|
{
|
|
HBITMAP hbmImage;
|
|
HBITMAP hbmMask;
|
|
int Unused1;
|
|
int Unused2;
|
|
RECT rcImage;
|
|
} IMAGEINFO;
|
|
|
|
typedef IMAGEINFO* LPIMAGEINFO;
|
|
cpp_quote("#endif") // MIDL_PASS
|
|
|
|
cpp_quote("#define ILIF_ALPHA 0x00000001") // flag returned by GetItemFlags, indicating item has alpha
|
|
|
|
[
|
|
uuid(46EB5926-582E-4017-9FDF-E8998DAA0950),
|
|
|
|
helpstring("Image List"),
|
|
local
|
|
]
|
|
interface IImageList : IUnknown
|
|
{
|
|
HRESULT Add(HBITMAP hbmImage, HBITMAP hbmMask, int* pi);
|
|
HRESULT ReplaceIcon(int i, HICON hicon, int* pi);
|
|
HRESULT SetOverlayImage(int iImage, int iOverlay);
|
|
HRESULT Replace(int i, HBITMAP hbmImage, HBITMAP hbmMask);
|
|
HRESULT AddMasked(HBITMAP hbmImage, COLORREF crMask, int* pi);
|
|
HRESULT Draw(IMAGELISTDRAWPARAMS* pimldp);
|
|
HRESULT Remove(int i);
|
|
HRESULT GetIcon(int i, UINT flags, HICON* picon);
|
|
HRESULT GetImageInfo(int i, IMAGEINFO* pImageInfo);
|
|
HRESULT Copy(int iDst, IUnknown* punkSrc, int iSrc, UINT uFlags);
|
|
HRESULT Merge(int i1, IUnknown* punk2, int i2, int dx, int dy, REFIID riid, PVOID* ppv);
|
|
HRESULT Clone(REFIID riid, PVOID* ppv);
|
|
HRESULT GetImageRect(int i, RECT* prc);
|
|
HRESULT GetIconSize(int* cx, int* cy);
|
|
HRESULT SetIconSize(int cx, int cy);
|
|
HRESULT GetImageCount(int* pi);
|
|
HRESULT SetImageCount(UINT uNewCount);
|
|
HRESULT SetBkColor(COLORREF clrBk, COLORREF* pclr);
|
|
HRESULT GetBkColor(COLORREF* pclr);
|
|
HRESULT BeginDrag(int iTrack, int dxHotspot, int dyHotspot);
|
|
HRESULT EndDrag();
|
|
HRESULT DragEnter(HWND hwndLock, int x, int y);
|
|
HRESULT DragLeave(HWND hwndLock);
|
|
HRESULT DragMove(int x, int y);
|
|
HRESULT SetDragCursorImage(IUnknown* punk, int iDrag, int dxHotspot, int dyHotspot);
|
|
HRESULT DragShowNolock(BOOL fShow);
|
|
HRESULT GetDragImage(POINT * ppt, POINT * pptHotspot, REFIID riid, PVOID* ppv);
|
|
HRESULT GetItemFlags(int i, DWORD *dwFlags);
|
|
HRESULT GetOverlayImage(int iOverlay, int* piIndex);
|
|
};
|
|
|
|
[
|
|
uuid(BCADA15B-B428-420c-8D28-023590924C9F)
|
|
]
|
|
library CommonControlObjects
|
|
{
|
|
|
|
[
|
|
uuid(7C476BA2-02B1-48f4-8048-B24619DDC058) // CLSID_ImageList
|
|
]
|
|
coclass ImageList
|
|
{
|
|
interface IImageList;
|
|
}
|
|
};
|