windows-nt/Source/XPSP1/NT/shell/published/inc/commoncontrols.idl
2020-09-26 16:20:57 +08:00

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;
}
};