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.*
---








Reply via email to