comctl32/tests: Add IImageList creation test.
This commit is contained in:
parent
a4f2ab9d14
commit
856dda3288
|
@ -74,6 +74,9 @@ static HIMAGELIST (WINAPI *pImageList_Create)(int, int, UINT, int, int);
|
||||||
static int (WINAPI *pImageList_Add)(HIMAGELIST, HBITMAP, HBITMAP);
|
static int (WINAPI *pImageList_Add)(HIMAGELIST, HBITMAP, HBITMAP);
|
||||||
static BOOL (WINAPI *pImageList_DrawIndirect)(IMAGELISTDRAWPARAMS*);
|
static BOOL (WINAPI *pImageList_DrawIndirect)(IMAGELISTDRAWPARAMS*);
|
||||||
static BOOL (WINAPI *pImageList_SetImageCount)(HIMAGELIST,UINT);
|
static BOOL (WINAPI *pImageList_SetImageCount)(HIMAGELIST,UINT);
|
||||||
|
static HRESULT (WINAPI *pImageList_CoCreateInstance)(REFCLSID,const IUnknown *,
|
||||||
|
REFIID,void **);
|
||||||
|
static HRESULT (WINAPI *pHIMAGELIST_QueryInterface)(HIMAGELIST,REFIID,void **);
|
||||||
|
|
||||||
static HDC desktopDC;
|
static HDC desktopDC;
|
||||||
static HINSTANCE hinst;
|
static HINSTANCE hinst;
|
||||||
|
@ -1244,6 +1247,38 @@ cleanup:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_iimagelist(void)
|
||||||
|
{
|
||||||
|
IImageList *imgl;
|
||||||
|
HIMAGELIST himl;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
if (!pImageList_CoCreateInstance || !pHIMAGELIST_QueryInterface)
|
||||||
|
{
|
||||||
|
win_skip("Vista imagelist functions not available\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr = pImageList_CoCreateInstance(&CLSID_ImageList, NULL, &IID_IImageList, (void **) &imgl);
|
||||||
|
ok(SUCCEEDED(hr), "ImageList_CoCreateInstance failed, hr=%x\n", hr);
|
||||||
|
|
||||||
|
if (hr == S_OK)
|
||||||
|
IImageList_Release(imgl);
|
||||||
|
|
||||||
|
himl = createImageList(32, 32);
|
||||||
|
|
||||||
|
if (!himl)
|
||||||
|
return;
|
||||||
|
|
||||||
|
hr = (pHIMAGELIST_QueryInterface)(himl, &IID_IImageList, (void **) &imgl);
|
||||||
|
ok(SUCCEEDED(hr), "HIMAGELIST_QueryInterface failed, hr=%x\n", hr);
|
||||||
|
|
||||||
|
if (hr == S_OK)
|
||||||
|
IImageList_Release(imgl);
|
||||||
|
|
||||||
|
ImageList_Destroy(himl);
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(imagelist)
|
START_TEST(imagelist)
|
||||||
{
|
{
|
||||||
ULONG_PTR ctx_cookie;
|
ULONG_PTR ctx_cookie;
|
||||||
|
@ -1280,10 +1315,17 @@ START_TEST(imagelist)
|
||||||
pImageList_Add = (void*)GetProcAddress(hComCtl32, "ImageList_Add");
|
pImageList_Add = (void*)GetProcAddress(hComCtl32, "ImageList_Add");
|
||||||
pImageList_DrawIndirect = (void*)GetProcAddress(hComCtl32, "ImageList_DrawIndirect");
|
pImageList_DrawIndirect = (void*)GetProcAddress(hComCtl32, "ImageList_DrawIndirect");
|
||||||
pImageList_SetImageCount = (void*)GetProcAddress(hComCtl32, "ImageList_SetImageCount");
|
pImageList_SetImageCount = (void*)GetProcAddress(hComCtl32, "ImageList_SetImageCount");
|
||||||
|
pImageList_CoCreateInstance = (void*)GetProcAddress(hComCtl32, "ImageList_CoCreateInstance");
|
||||||
|
pHIMAGELIST_QueryInterface = (void*)GetProcAddress(hComCtl32, "HIMAGELIST_QueryInterface");
|
||||||
|
|
||||||
|
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
|
||||||
|
|
||||||
/* Do v6.0 tests */
|
/* Do v6.0 tests */
|
||||||
test_ImageList_DrawIndirect();
|
test_ImageList_DrawIndirect();
|
||||||
test_shell_imagelist();
|
test_shell_imagelist();
|
||||||
|
test_iimagelist();
|
||||||
|
|
||||||
|
CoUninitialize();
|
||||||
|
|
||||||
unload_v6_module(ctx_cookie, hCtx);
|
unload_v6_module(ctx_cookie, hCtx);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue