Owen Rudge wrote:
---
dlls/comctl32/imagelist.c | 318
++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 317 insertions(+), 1 deletions(-)
Hi.
+/*************************************************************************
+ * IImageList implementation
+ */
+
+typedef struct {
+ const IImageListVtbl *lpVtbl;
+ LONG ref;
+ HIMAGELIST hImageList;
+} ImageListImpl;
+
You can't do that. HIMAGELIST should be the same thing as IImageList. See here:
1) from commctrl.h
---
#ifdef __cplusplus
FORCEINLINE HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl)
{
return reinterpret_cast<HIMAGELIST>(himl);
}
#else
#define IImageListToHIMAGELIST(himl) ((HIMAGELIST)(himl))
#endif
---
2) SHGetImageList docs from
http://msdn.microsoft.com/en-us/library/bb762185%28VS.85%29.aspx
---*
Remarks*
The *IImageList* pointer type, such as that returned in the /ppv/
parameter, can be cast as an HIMAGELIST as needed; for example, for use
in a list view. Conversely, an HIMAGELIST can be cast as a pointer to an
*IImageList.*
---