Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/comctl32/tests/Makefile.in | 2 +- dlls/comctl32/tests/animate.c | 22 +---------- dlls/comctl32/tests/combo.c | 29 +++++++------- dlls/comctl32/tests/datetime.c | 15 ------- dlls/comctl32/tests/dpa.c | 67 +++++++++++++------------------- dlls/comctl32/tests/header.c | 38 +++++++++--------- dlls/comctl32/tests/imagelist.c | 36 ++++++++--------- dlls/comctl32/tests/ipaddress.c | 25 ------------ dlls/comctl32/tests/listview.c | 74 +++++++++++++++++++---------------- dlls/comctl32/tests/monthcal.c | 17 -------- dlls/comctl32/tests/mru.c | 30 +++++++------- dlls/comctl32/tests/pager.c | 1 - dlls/comctl32/tests/progress.c | 14 ------- dlls/comctl32/tests/propsheet.c | 86 +++++++++++++++++++++++++---------------- dlls/comctl32/tests/rebar.c | 35 ++++++++--------- dlls/comctl32/tests/status.c | 2 - dlls/comctl32/tests/subclass.c | 2 +- dlls/comctl32/tests/tab.c | 42 ++++++++++++++------ dlls/comctl32/tests/toolbar.c | 63 +++++++++++++++++++----------- dlls/comctl32/tests/tooltips.c | 2 +- dlls/comctl32/tests/trackbar.c | 3 +- dlls/comctl32/tests/treeview.c | 14 ------- dlls/comctl32/tests/updown.c | 21 +++++++--- 23 files changed, 296 insertions(+), 344 deletions(-)
diff --git a/dlls/comctl32/tests/Makefile.in b/dlls/comctl32/tests/Makefile.in index f93ff2585d..4669efcf2b 100644 --- a/dlls/comctl32/tests/Makefile.in +++ b/dlls/comctl32/tests/Makefile.in @@ -1,5 +1,5 @@ TESTDLL = comctl32.dll -IMPORTS = comctl32 ole32 user32 gdi32 advapi32 +IMPORTS = ole32 user32 gdi32 advapi32
C_SRCS = \ animate.c \ diff --git a/dlls/comctl32/tests/animate.c b/dlls/comctl32/tests/animate.c index fab345bb47..400de55b5e 100644 --- a/dlls/comctl32/tests/animate.c +++ b/dlls/comctl32/tests/animate.c @@ -108,26 +108,6 @@ static void create_animate(DWORD parent_style, DWORD animate_style) update_window(hAnimateParentWnd); }
-static void init(void) -{ - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); - - hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (pInitCommonControlsEx) - { - INITCOMMONCONTROLSEX iccex; - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_ANIMATE_CLASS; - pInitCommonControlsEx(&iccex); - } - else - InitCommonControls(); - - shell32 = LoadLibraryA("Shell32.dll"); -} - static void destroy_animate(void) { MSG msg; @@ -175,7 +155,7 @@ static void test_play(void)
START_TEST(animate) { - init(); + shell32 = LoadLibraryA("Shell32.dll");
test_play();
diff --git a/dlls/comctl32/tests/combo.c b/dlls/comctl32/tests/combo.c index ef7c3f796b..895d9429b4 100644 --- a/dlls/comctl32/tests/combo.c +++ b/dlls/comctl32/tests/combo.c @@ -480,25 +480,20 @@ static LRESULT CALLBACK ComboExTestWndProc(HWND hWnd, UINT msg, WPARAM wParam, L return 0L; }
-static BOOL init(void) +static void init_functions(void) { - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); - WNDCLASSA wc; - INITCOMMONCONTROLSEX iccex; + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll");
- hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (!pInitCommonControlsEx) - { - win_skip("InitCommonControlsEx() is missing. Skipping the tests\n"); - return FALSE; - } - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_USEREX_CLASSES; - pInitCommonControlsEx(&iccex); +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); +#define X2(f, ord) p##f = (void*)GetProcAddress(hComCtl32, (const char *)ord); + X2(SetWindowSubclass, 410); +#undef X +#undef X2 +}
- pSetWindowSubclass = (void*)GetProcAddress(hComctl32, (LPSTR)410); +static BOOL init(void) +{ + WNDCLASSA wc;
wc.style = CS_HREDRAW | CS_VREDRAW; wc.cbClsExtra = 0; @@ -1161,6 +1156,8 @@ START_TEST(combo) ULONG_PTR ctx_cookie; HANDLE hCtx;
+ init_functions(); + if (!init()) return;
diff --git a/dlls/comctl32/tests/datetime.c b/dlls/comctl32/tests/datetime.c index c9407bef61..691eac9813 100644 --- a/dlls/comctl32/tests/datetime.c +++ b/dlls/comctl32/tests/datetime.c @@ -779,21 +779,6 @@ static void test_dts_shownone(void)
START_TEST(datetime) { - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); - INITCOMMONCONTROLSEX iccex; - - hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (!pInitCommonControlsEx) - { - win_skip("InitCommonControlsEx() is missing. Skipping the tests\n"); - return; - } - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_DATE_CLASSES; - pInitCommonControlsEx(&iccex); - init_msg_sequences(sequences, NUM_MSG_SEQUENCES);
test_dtm_set_format(); diff --git a/dlls/comctl32/tests/dpa.c b/dlls/comctl32/tests/dpa.c index 4eb32a4187..c795c14f4e 100644 --- a/dlls/comctl32/tests/dpa.c +++ b/dlls/comctl32/tests/dpa.c @@ -59,38 +59,33 @@ static INT (WINAPI *pDPA_Search)(HDPA,PVOID,INT,PFNDPACOMPARE,LPARAM,UINT); static BOOL (WINAPI *pDPA_SetPtr)(HDPA,INT,PVOID); static BOOL (WINAPI *pDPA_Sort)(HDPA,PFNDPACOMPARE,LPARAM);
-#define COMCTL32_GET_PROC(func, ord) \ - ((p ## func = (PVOID)GetProcAddress(hcomctl32,(LPCSTR)ord)) ? 1 \ - : (trace( #func " not exported\n"), 0)) - -static BOOL InitFunctionPtrs(HMODULE hcomctl32) +static void init_functions(void) { - /* 4.00+ */ - if(COMCTL32_GET_PROC(DPA_Clone, 331) && - COMCTL32_GET_PROC(DPA_Create, 328) && - COMCTL32_GET_PROC(DPA_CreateEx, 340) && - COMCTL32_GET_PROC(DPA_DeleteAllPtrs, 337) && - COMCTL32_GET_PROC(DPA_DeletePtr, 336) && - COMCTL32_GET_PROC(DPA_Destroy, 329) && - COMCTL32_GET_PROC(DPA_GetPtr, 332) && - COMCTL32_GET_PROC(DPA_GetPtrIndex, 333) && - COMCTL32_GET_PROC(DPA_Grow, 330) && - COMCTL32_GET_PROC(DPA_InsertPtr, 334) && - COMCTL32_GET_PROC(DPA_Search, 339) && - COMCTL32_GET_PROC(DPA_SetPtr, 335) && - COMCTL32_GET_PROC(DPA_Sort, 338)) - { - /* 4.71+ */ - COMCTL32_GET_PROC(DPA_DestroyCallback, 386) && - COMCTL32_GET_PROC(DPA_EnumCallback, 385) && - COMCTL32_GET_PROC(DPA_LoadStream, 9) && - COMCTL32_GET_PROC(DPA_Merge, 11) && - COMCTL32_GET_PROC(DPA_SaveStream, 10); - - return TRUE; - } + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll");
- return FALSE; +#define X2(f, ord) p##f = (void*)GetProcAddress(hComCtl32, (const char *)ord); + /* 4.00+ */ + X2(DPA_Clone, 331); + X2(DPA_Create, 328); + X2(DPA_CreateEx, 340); + X2(DPA_DeleteAllPtrs, 337); + X2(DPA_DeletePtr, 336); + X2(DPA_Destroy, 329); + X2(DPA_GetPtr, 332); + X2(DPA_GetPtrIndex, 333); + X2(DPA_Grow, 330); + X2(DPA_InsertPtr, 334); + X2(DPA_Search, 339); + X2(DPA_SetPtr, 335); + X2(DPA_Sort, 338); + + /* 4.71+ */ + X2(DPA_DestroyCallback, 386); + X2(DPA_EnumCallback, 385); + X2(DPA_LoadStream, 9); + X2(DPA_Merge, 11); + X2(DPA_SaveStream, 10); +#undef X2 }
/* Callbacks */ @@ -628,7 +623,7 @@ static void test_DPA_LoadStream(void) dpa = NULL; hRes = pDPA_LoadStream(&dpa, CB_Load, pStm, NULL); expect(S_OK, hRes); - DPA_Destroy(dpa); + pDPA_Destroy(dpa);
/* try with altered dwData2 field */ header.dwSize = sizeof(header); @@ -742,15 +737,7 @@ if (0) {
START_TEST(dpa) { - HMODULE hcomctl32; - - hcomctl32 = GetModuleHandleA("comctl32.dll"); - - if(!InitFunctionPtrs(hcomctl32)) - { - win_skip("Needed functions are not available\n"); - return; - } + init_functions();
test_dpa(); test_DPA_Merge(); diff --git a/dlls/comctl32/tests/header.c b/dlls/comctl32/tests/header.c index ae75199be2..31610f0c9a 100644 --- a/dlls/comctl32/tests/header.c +++ b/dlls/comctl32/tests/header.c @@ -26,6 +26,9 @@ #include "v6util.h" #include "msg.h"
+static HIMAGELIST (WINAPI *pImageList_Create)(int, int, UINT, int, int); +static BOOL (WINAPI *pImageList_Destroy)(HIMAGELIST); + typedef struct tagEXPECTEDNOTIFY { INT iCode; @@ -953,7 +956,7 @@ static void test_hdm_sethotdivider(HWND hParent)
static void test_hdm_imageMessages(HWND hParent) { - HIMAGELIST hImageList = ImageList_Create (4, 4, 0, 1, 0); + HIMAGELIST hImageList = pImageList_Create (4, 4, 0, 1, 0); HIMAGELIST hIml; BOOL wasValid; HWND hChild; @@ -973,13 +976,13 @@ static void test_hdm_imageMessages(HWND hParent)
hIml = (HIMAGELIST) SendMessageA(hChild, HDM_CREATEDRAGIMAGE, 0, 0); ok(hIml != NULL, "Expected non-NULL handle, got %p\n", hIml); - ImageList_Destroy(hIml); + pImageList_Destroy(hIml);
ok_sequence(sequences, HEADER_SEQ_INDEX, imageMessages_seq, "imageMessages sequence testing", FALSE);
DestroyWindow(hChild);
- wasValid = ImageList_Destroy(hImageList); + wasValid = pImageList_Destroy(hImageList); ok(wasValid, "Header must not free image list at destruction!\n"); }
@@ -1644,28 +1647,23 @@ static LRESULT CALLBACK HeaderTestWndProc(HWND hWnd, UINT msg, WPARAM wParam, LP return 0L; }
+static void init_functions(void) +{ + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll"); + +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); + X(ImageList_Create); + X(ImageList_Destroy); +#undef X +} + static BOOL init(void) { - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); WNDCLASSA wc; - INITCOMMONCONTROLSEX iccex; TEXTMETRICA tm; HFONT hOldFont; HDC hdc;
- hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (!pInitCommonControlsEx) - { - win_skip("InitCommonControlsEx() is missing. Skipping the tests\n"); - return FALSE; - } - - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_USEREX_CLASSES; - pInitCommonControlsEx(&iccex); - wc.style = CS_HREDRAW | CS_VREDRAW; wc.cbClsExtra = 0; wc.cbWndExtra = 0; @@ -1821,6 +1819,8 @@ START_TEST(header) ULONG_PTR ctx_cookie; HANDLE hCtx;
+ init_functions(); + if (!init()) return;
@@ -1852,6 +1852,8 @@ START_TEST(header) return; }
+ init_functions(); + /* comctl32 version 6 tests start here */ test_hdf_fixedwidth(parent_hwnd); test_hds_nosizing(parent_hwnd); diff --git a/dlls/comctl32/tests/imagelist.c b/dlls/comctl32/tests/imagelist.c index 653467c999..3838563c38 100644 --- a/dlls/comctl32/tests/imagelist.c +++ b/dlls/comctl32/tests/imagelist.c @@ -85,6 +85,7 @@ static BOOL (WINAPI *pImageList_Write)(HIMAGELIST, IStream *); static HIMAGELIST (WINAPI *pImageList_Read)(IStream *); static BOOL (WINAPI *pImageList_Copy)(HIMAGELIST, int, HIMAGELIST, int, UINT); static HIMAGELIST (WINAPI *pImageList_LoadImageW)(HINSTANCE, LPCWSTR, int, int, COLORREF, UINT, UINT); +static BOOL (WINAPI *pImageList_Draw)(HIMAGELIST,INT,HDC,INT,INT,UINT);
static HINSTANCE hinst;
@@ -205,7 +206,7 @@ static HDC show_image(HWND hwnd, HIMAGELIST himl, int idx, int size,
SetWindowTextA(hwnd, loc); hdc = GetDC(hwnd); - ImageList_Draw(himl, idx, hdc, 0, 0, ILD_TRANSPARENT); + pImageList_Draw(himl, idx, hdc, 0, 0, ILD_TRANSPARENT);
force_redraw(hwnd);
@@ -504,8 +505,8 @@ static void test_DrawIndirect(void) ok(hbm3 != 0, "no bitmap 3\n");
/* add three */ - ok(0 == ImageList_Add(himl, hbm1, 0),"failed to add bitmap 1\n"); - ok(1 == ImageList_Add(himl, hbm2, 0),"failed to add bitmap 2\n"); + ok(0 == pImageList_Add(himl, hbm1, 0),"failed to add bitmap 1\n"); + ok(1 == pImageList_Add(himl, hbm2, 0),"failed to add bitmap 2\n");
if (pImageList_SetImageCount) { @@ -1576,7 +1577,7 @@ cleanup:
if(himl) { - ret = ImageList_Destroy(himl); + ret = pImageList_Destroy(himl); ok(ret, "ImageList_Destroy failed\n"); } } @@ -1599,21 +1600,21 @@ static void test_iimagelist(void) imgl = (IImageList*)createImageList(32, 32); ret = IImageList_AddRef(imgl); ok(ret == 2, "Expected 2, got %d\n", ret); - ret = ImageList_Destroy((HIMAGELIST)imgl); + ret = pImageList_Destroy((HIMAGELIST)imgl); ok(ret == TRUE, "Expected TRUE, got %d\n", ret); - ret = ImageList_Destroy((HIMAGELIST)imgl); + ret = pImageList_Destroy((HIMAGELIST)imgl); ok(ret == TRUE, "Expected TRUE, got %d\n", ret); - ret = ImageList_Destroy((HIMAGELIST)imgl); + ret = pImageList_Destroy((HIMAGELIST)imgl); ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
imgl = (IImageList*)createImageList(32, 32); ret = IImageList_AddRef(imgl); ok(ret == 2, "Expected 2, got %d\n", ret); - ret = ImageList_Destroy((HIMAGELIST)imgl); + ret = pImageList_Destroy((HIMAGELIST)imgl); ok(ret == TRUE, "Expected TRUE, got %d\n", ret); ret = IImageList_Release(imgl); ok(ret == 0, "Expected 0, got %d\n", ret); - ret = ImageList_Destroy((HIMAGELIST)imgl); + ret = pImageList_Destroy((HIMAGELIST)imgl); ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
/* ref counting, HIMAGELIST_QueryInterface adds a reference */ @@ -1674,7 +1675,7 @@ static void test_IImageList_Add_Remove(void) int ret;
/* create an imagelist to play with */ - himl = ImageList_Create(84, 84, ILC_COLOR16, 0, 3); + himl = pImageList_Create(84, 84, ILC_COLOR16, 0, 3); ok(himl != 0,"failed to create imagelist\n");
imgl = (IImageList *) himl; @@ -1728,7 +1729,7 @@ static void test_IImageList_Get_SetImageCount(void) INT ret;
/* create an imagelist to play with */ - himl = ImageList_Create(84, 84, ILC_COLOR16, 0, 3); + himl = pImageList_Create(84, 84, ILC_COLOR16, 0, 3); ok(himl != 0,"failed to create imagelist\n");
imgl = (IImageList *) himl; @@ -1773,7 +1774,7 @@ static void test_IImageList_Draw(void) ok(hdc!=NULL, "couldn't get DC\n");
/* create an imagelist to play with */ - himl = ImageList_Create(48, 48, ILC_COLOR16, 0, 3); + himl = pImageList_Create(48, 48, ILC_COLOR16, 0, 3); ok(himl!=0,"failed to create imagelist\n");
imgl = (IImageList *) himl; @@ -1850,10 +1851,10 @@ static void test_IImageList_Merge(void) HRESULT hr; int ret;
- himl1 = ImageList_Create(32,32,0,0,3); + himl1 = pImageList_Create(32,32,0,0,3); ok(himl1 != NULL,"failed to create himl1\n");
- himl2 = ImageList_Create(32,32,0,0,3); + himl2 = pImageList_Create(32,32,0,0,3); ok(himl2 != NULL,"failed to create himl2\n");
hicon1 = CreateIcon(hinst, 32, 32, 1, 1, icon_bits, icon_bits); @@ -1887,7 +1888,7 @@ if (0)
/* Same happens if himl2 is empty */ IImageList_Release(imgl2); - himl2 = ImageList_Create(32,32,0,0,3); + himl2 = pImageList_Create(32,32,0,0,3); ok(himl2 != NULL,"failed to recreate himl2\n");
imgl2 = (IImageList *) himl2; @@ -2385,7 +2386,7 @@ static void test_IImageList_GetIconSize(void)
static void init_functions(void) { - HMODULE hComCtl32 = GetModuleHandleA("comctl32.dll"); + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll");
#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); #define X2(f, ord) p##f = (void*)GetProcAddress(hComCtl32, (const char *)ord); @@ -2414,6 +2415,7 @@ static void init_functions(void) X(ImageList_LoadImageW); X(ImageList_CoCreateInstance); X(HIMAGELIST_QueryInterface); + X(ImageList_Draw); #undef X #undef X2 } @@ -2427,8 +2429,6 @@ START_TEST(imagelist)
hinst = GetModuleHandleA(NULL);
- InitCommonControls(); - test_create_destroy(); test_begindrag(); test_hotspot(); diff --git a/dlls/comctl32/tests/ipaddress.c b/dlls/comctl32/tests/ipaddress.c index 093f649c9e..6d8e9ccf4b 100644 --- a/dlls/comctl32/tests/ipaddress.c +++ b/dlls/comctl32/tests/ipaddress.c @@ -61,32 +61,7 @@ static void test_get_set_text(void) DestroyWindow(hwnd); }
-static BOOL init(void) -{ - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); - INITCOMMONCONTROLSEX iccex; - - hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (!pInitCommonControlsEx) - { - win_skip("InitCommonControlsEx() is missing.\n"); - return FALSE; - } - - iccex.dwSize = sizeof(iccex); - /* W2K and below need ICC_INTERNET_CLASSES for the IP Address Control */ - iccex.dwICC = ICC_INTERNET_CLASSES; - pInitCommonControlsEx(&iccex); - - return TRUE; -} - START_TEST(ipaddress) { - if (!init()) - return; - test_get_set_text(); } diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c index 18e874a00f..72367c67b3 100644 --- a/dlls/comctl32/tests/listview.c +++ b/dlls/comctl32/tests/listview.c @@ -28,6 +28,11 @@ #include "v6util.h" #include "msg.h"
+static HIMAGELIST (WINAPI *pImageList_Create)(int, int, UINT, int, int); +static BOOL (WINAPI *pImageList_Destroy)(HIMAGELIST); +static int (WINAPI *pImageList_Add)(HIMAGELIST, HBITMAP, HBITMAP); +static BOOL (WINAPI *p_TrackMouseEvent)(TRACKMOUSEEVENT *); + enum seq_index { PARENT_SEQ_INDEX, PARENT_FULL_SEQ_INDEX, @@ -73,6 +78,18 @@ static BOOL g_focus_test_LVN_DELETEITEM;
static HWND subclass_editbox(HWND hwndListview);
+static void init_functions(void) +{ + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll"); + +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); + X(ImageList_Create); + X(ImageList_Destroy); + X(ImageList_Add); + X(_TrackMouseEvent); +#undef X +} + static struct msg_sequence *sequences[NUM_MSG_SEQUENCES];
static const struct message create_ownerdrawfixed_parent_seq[] = { @@ -848,13 +865,13 @@ static void test_images(void) RECT r1, r2; static CHAR hello[] = "hello";
- himl = ImageList_Create(40, 40, 0, 4, 4); + himl = pImageList_Create(40, 40, 0, 4, 4); ok(himl != NULL, "failed to create imagelist\n");
hbmp = CreateBitmap(40, 40, 1, 1, NULL); ok(hbmp != NULL, "failed to create bitmap\n");
- r = ImageList_Add(himl, hbmp, 0); + r = pImageList_Add(himl, hbmp, 0); ok(r == 0, "should be zero\n");
hwnd = CreateWindowExA(0, "SysListView32", "foo", LVS_OWNERDRAWFIXED, @@ -1539,7 +1556,7 @@ static void test_create(void) cls.lpszClassName = "MyListView32"; ok(RegisterClassExA(&cls), "RegisterClassEx failed\n");
- test_create_imagelist = ImageList_Create(16, 16, 0, 5, 10); + test_create_imagelist = pImageList_Create(16, 16, 0, 5, 10); hList = CreateWindowA("MyListView32", "Test", WS_VISIBLE, 0, 0, 100, 100, NULL, NULL, GetModuleHandleA(NULL), 0); ok((HIMAGELIST)SendMessageA(hList, LVM_GETIMAGELIST, 0, 0) == test_create_imagelist, "Image list not obtained\n"); hHeader = (HWND)SendMessageA(hList, LVM_GETHEADER, 0, 0); @@ -3732,15 +3749,15 @@ static void test_hittest(void) test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, 0, FALSE, TRUE); test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, FALSE); /* try with icons, state icons index is 1 based so at least 2 bitmaps needed */ - himl = ImageList_Create(16, 16, 0, 4, 4); + himl = pImageList_Create(16, 16, 0, 4, 4); ok(himl != NULL, "failed to create imagelist\n"); hbmp = CreateBitmap(16, 16, 1, 1, NULL); ok(hbmp != NULL, "failed to create bitmap\n"); - r = ImageList_Add(himl, hbmp, 0); + r = pImageList_Add(himl, hbmp, 0); ok(r == 0, "should be zero\n"); hbmp = CreateBitmap(16, 16, 1, 1, NULL); ok(hbmp != NULL, "failed to create bitmap\n"); - r = ImageList_Add(himl, hbmp, 0); + r = pImageList_Add(himl, hbmp, 0); ok(r == 1, "should be one\n");
r = SendMessageA(hwnd, LVM_SETIMAGELIST, LVSIL_STATE, (LPARAM)himl); @@ -4022,15 +4039,15 @@ todo_wine expect(TRUE, r);
/* state icons */ - himl = ImageList_Create(16, 16, 0, 2, 2); + himl = pImageList_Create(16, 16, 0, 2, 2); ok(himl != NULL, "failed to create imagelist\n"); hbm = CreateBitmap(16, 16, 1, 1, NULL); ok(hbm != NULL, "failed to create bitmap\n"); - r = ImageList_Add(himl, hbm, 0); + r = pImageList_Add(himl, hbm, 0); expect(0, r); hbm = CreateBitmap(16, 16, 1, 1, NULL); ok(hbm != NULL, "failed to create bitmap\n"); - r = ImageList_Add(himl, hbm, 0); + r = pImageList_Add(himl, hbm, 0); expect(1, r);
r = SendMessageA(hwnd, LVM_SETIMAGELIST, LVSIL_STATE, (LPARAM)himl); @@ -4702,9 +4719,9 @@ static void test_getitemspacing(void) expect(cy, HIWORD(ret));
/* now try with icons */ - himl40 = ImageList_Create(40, 40, 0, 4, 4); + himl40 = pImageList_Create(40, 40, 0, 4, 4); ok(himl40 != NULL, "failed to create imagelist\n"); - himl80 = ImageList_Create(80, 80, 0, 4, 4); + himl80 = pImageList_Create(80, 80, 0, 4, 4); ok(himl80 != NULL, "failed to create imagelist\n"); ret = SendMessageA(hwnd, LVM_SETIMAGELIST, LVSIL_NORMAL, (LPARAM)himl40); expect(0, ret); @@ -4772,7 +4789,7 @@ static void test_getitemspacing(void) expect(cy + 40, HIWORD(ret));
SendMessageA(hwnd, LVM_SETIMAGELIST, LVSIL_NORMAL, 0); - ImageList_Destroy(himl80); + pImageList_Destroy(himl80); DestroyWindow(hwnd); /* LVS_SMALLICON */ hwnd = create_listview_control(LVS_SMALLICON); @@ -4790,7 +4807,7 @@ static void test_getitemspacing(void) expect(cy + 40, HIWORD(ret));
SendMessageA(hwnd, LVM_SETIMAGELIST, LVSIL_NORMAL, 0); - ImageList_Destroy(himl40); + pImageList_Destroy(himl40); DestroyWindow(hwnd); /* LVS_REPORT */ hwnd = create_listview_control(LVS_REPORT); @@ -4973,11 +4990,11 @@ static void test_approximate_viewrect(void)
/* LVS_ICON */ hwnd = create_listview_control(LVS_ICON); - himl = ImageList_Create(40, 40, 0, 4, 4); + himl = pImageList_Create(40, 40, 0, 4, 4); ok(himl != NULL, "failed to create imagelist\n"); hbmp = CreateBitmap(40, 40, 1, 1, NULL); ok(hbmp != NULL, "failed to create bitmap\n"); - ret = ImageList_Add(himl, hbmp, 0); + ret = pImageList_Add(himl, hbmp, 0); expect(0, ret); ret = SendMessageA(hwnd, LVM_SETIMAGELIST, 0, (LPARAM)himl); expect(0, ret); @@ -5594,7 +5611,7 @@ static void test_createdragimage(void)
himl = (HIMAGELIST)SendMessageA(list, LVM_CREATEDRAGIMAGE, 0, (LPARAM)&pt); ok(himl != NULL, "got %p\n", himl); - ImageList_Destroy(himl); + pImageList_Destroy(himl);
DestroyWindow(list); } @@ -5709,9 +5726,9 @@ static void test_imagelists(void) HIMAGELIST himl1, himl2, himl3; LRESULT ret;
- himl1 = ImageList_Create(40, 40, 0, 4, 4); - himl2 = ImageList_Create(40, 40, 0, 4, 4); - himl3 = ImageList_Create(40, 40, 0, 4, 4); + himl1 = pImageList_Create(40, 40, 0, 4, 4); + himl2 = pImageList_Create(40, 40, 0, 4, 4); + himl3 = pImageList_Create(40, 40, 0, 4, 4); ok(himl1 != NULL, "Failed to create imagelist\n"); ok(himl2 != NULL, "Failed to create imagelist\n"); ok(himl3 != NULL, "Failed to create imagelist\n"); @@ -5977,7 +5994,7 @@ static void test_oneclickactivate(void)
track.cbSize = sizeof(track); track.dwFlags = TME_QUERY; - _TrackMouseEvent(&track); + p_TrackMouseEvent(&track); ok(track.hwndTrack == hwnd, "hwndTrack != hwnd\n"); ok(track.dwFlags == TME_LEAVE, "dwFlags = %x\n", track.dwFlags);
@@ -6241,23 +6258,10 @@ static void test_state_image(void)
START_TEST(listview) { - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); - ULONG_PTR ctx_cookie; HANDLE hCtx;
- hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (pInitCommonControlsEx) - { - INITCOMMONCONTROLSEX iccex; - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_LISTVIEW_CLASSES; - pInitCommonControlsEx(&iccex); - } - else - InitCommonControls(); + init_functions();
init_msg_sequences(sequences, NUM_MSG_SEQUENCES);
@@ -6319,6 +6323,8 @@ START_TEST(listview) return; }
+ init_functions(); + /* comctl32 version 6 tests start here */ test_get_set_view(); test_canceleditlabel(); diff --git a/dlls/comctl32/tests/monthcal.c b/dlls/comctl32/tests/monthcal.c index 4216fd5e67..10bad66da6 100644 --- a/dlls/comctl32/tests/monthcal.c +++ b/dlls/comctl32/tests/monthcal.c @@ -598,8 +598,6 @@ static HWND create_parent_window(void) { HWND hwnd;
- InitCommonControls(); - /* flush message sequences, so we can check the new sequence by the end of function */ flush_sequences(sequences, NUM_MSG_SEQUENCES);
@@ -2041,24 +2039,9 @@ static void test_sel_notify(void)
START_TEST(monthcal) { - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); - INITCOMMONCONTROLSEX iccex; - HMODULE hComctl32; - ULONG_PTR ctx_cookie; HANDLE hCtx;
- hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (!pInitCommonControlsEx) - { - win_skip("InitCommonControlsEx() is missing. Skipping the tests\n"); - return; - } - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_DATE_CLASSES; - pInitCommonControlsEx(&iccex); - test_monthcal();
init_msg_sequences(sequences, NUM_MSG_SEQUENCES); diff --git a/dlls/comctl32/tests/mru.c b/dlls/comctl32/tests/mru.c index af49aba213..664f7a54f4 100644 --- a/dlls/comctl32/tests/mru.c +++ b/dlls/comctl32/tests/mru.c @@ -76,18 +76,22 @@ static INT (WINAPI *pFindMRUData)(HANDLE, LPCVOID, DWORD, LPINT); static INT (WINAPI *pAddMRUData)(HANDLE, LPCVOID, DWORD); static HANDLE (WINAPI *pCreateMRUListW)(MRUINFOW*);
-static void InitPointers(void) +static void init_functions(void) { - pCreateMRUListA = (void*)GetProcAddress(hComctl32,(LPCSTR)151); - pFreeMRUList = (void*)GetProcAddress(hComctl32,(LPCSTR)152); - pAddMRUStringA = (void*)GetProcAddress(hComctl32,(LPCSTR)153); - pEnumMRUListA = (void*)GetProcAddress(hComctl32,(LPCSTR)154); - pCreateMRUListLazyA = (void*)GetProcAddress(hComctl32,(LPCSTR)157); - pAddMRUData = (void*)GetProcAddress(hComctl32,(LPCSTR)167); - pFindMRUData = (void*)GetProcAddress(hComctl32,(LPCSTR)169); - pCreateMRUListW = (void*)GetProcAddress(hComctl32,(LPCSTR)400); - pEnumMRUListW = (void*)GetProcAddress(hComctl32,(LPCSTR)403); - pCreateMRUListLazyW = (void*)GetProcAddress(hComctl32,(LPCSTR)404); + hComctl32 = LoadLibraryA("comctl32.dll"); + +#define X2(f, ord) p##f = (void*)GetProcAddress(hComctl32, (const char *)ord); + X2(CreateMRUListA, 151); + X2(FreeMRUList, 152); + X2(AddMRUStringA, 153); + X2(EnumMRUListA, 154); + X2(CreateMRUListLazyA, 157); + X2(AddMRUData, 167); + X2(FindMRUData, 169); + X2(CreateMRUListW, 400); + X2(EnumMRUListW, 403); + X2(CreateMRUListLazyW, 404); +#undef X2 }
/* Based on RegDeleteTreeW from dlls/advapi32/registry.c */ @@ -705,13 +709,11 @@ static void test_CreateMRUListLazyW(void)
START_TEST(mru) { - hComctl32 = GetModuleHandleA("comctl32.dll"); - delete_reg_entries(); if (!create_reg_entries()) return;
- InitPointers(); + init_functions();
test_MRUListA(); test_CreateMRUListLazyA(); diff --git a/dlls/comctl32/tests/pager.c b/dlls/comctl32/tests/pager.c index a9409eac08..0da396cdd1 100644 --- a/dlls/comctl32/tests/pager.c +++ b/dlls/comctl32/tests/pager.c @@ -339,7 +339,6 @@ START_TEST(pager)
pSetWindowSubclass = (void*)GetProcAddress(mod, (LPSTR)410);
- InitCommonControls(); init_msg_sequences(sequences, NUM_MSG_SEQUENCES);
parent_wnd = create_parent_window(); diff --git a/dlls/comctl32/tests/progress.c b/dlls/comctl32/tests/progress.c index 7f69c35232..bc7284b78d 100644 --- a/dlls/comctl32/tests/progress.c +++ b/dlls/comctl32/tests/progress.c @@ -94,24 +94,10 @@ static void update_window(HWND hWnd)
static void init(void) { - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); WNDCLASSA wc; RECT rect; BOOL ret;
- hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (pInitCommonControlsEx) - { - INITCOMMONCONTROLSEX iccex; - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_PROGRESS_CLASS; - pInitCommonControlsEx(&iccex); - } - else - InitCommonControls(); - wc.style = CS_HREDRAW | CS_VREDRAW; wc.cbClsExtra = 0; wc.cbWndExtra = 0; diff --git a/dlls/comctl32/tests/propsheet.c b/dlls/comctl32/tests/propsheet.c index ec53e6bc7c..2a4afaa51e 100644 --- a/dlls/comctl32/tests/propsheet.c +++ b/dlls/comctl32/tests/propsheet.c @@ -34,6 +34,10 @@ static LONG active_page = -1;
#define IDC_APPLY_BUTTON 12321
+static HPROPSHEETPAGE (WINAPI *pCreatePropertySheetPageA)(const PROPSHEETPAGEA *desc); +static HPROPSHEETPAGE (WINAPI *pCreatePropertySheetPageW)(const PROPSHEETPAGEW *desc); +static BOOL (WINAPI *pDestroyPropertySheetPage)(HPROPSHEETPAGE proppage); +static INT_PTR (WINAPI *pPropertySheetA)(const PROPSHEETHEADERA *header);
static void detect_locale(void) { @@ -141,7 +145,7 @@ static void test_title(void) psp.pfnDlgProc = page_dlg_proc; psp.lParam = 0;
- hpsp[0] = CreatePropertySheetPageA(&psp); + hpsp[0] = pCreatePropertySheetPageA(&psp);
memset(&psh, 0, sizeof(psh)); psh.dwSize = PROPSHEETHEADERA_V1_SIZE; @@ -152,7 +156,7 @@ static void test_title(void) U3(psh).phpage = hpsp; psh.pfnCallback = sheet_callback;
- hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "got invalid handle value %p\n", hdlg);
style = GetWindowLongA(hdlg, GWL_STYLE); @@ -180,7 +184,7 @@ static void test_nopage(void) psp.pfnDlgProc = page_dlg_proc; psp.lParam = 0;
- hpsp[0] = CreatePropertySheetPageA(&psp); + hpsp[0] = pCreatePropertySheetPageA(&psp);
memset(&psh, 0, sizeof(psh)); psh.dwSize = PROPSHEETHEADERA_V1_SIZE; @@ -191,7 +195,7 @@ static void test_nopage(void) U3(psh).phpage = hpsp; psh.pfnCallback = sheet_callback;
- hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "got invalid handle value %p\n", hdlg);
ShowWindow(hdlg,SW_NORMAL); @@ -260,7 +264,7 @@ static void test_disableowner(void) psp.pfnDlgProc = NULL; psp.lParam = 0;
- hpsp[0] = CreatePropertySheetPageA(&psp); + hpsp[0] = pCreatePropertySheetPageA(&psp);
memset(&psh, 0, sizeof(psh)); psh.dwSize = PROPSHEETHEADERA_V1_SIZE; @@ -271,7 +275,7 @@ static void test_disableowner(void) U3(psh).phpage = hpsp; psh.pfnCallback = disableowner_callback;
- p = PropertySheetA(&psh); + p = pPropertySheetA(&psh); todo_wine ok(p == 0, "Expected 0, got %ld\n", p); ok(IsWindowEnabled(parenthwnd) != 0, "parent window should be enabled\n"); @@ -357,25 +361,25 @@ static void test_wiznavigation(void) psp[0].hInstance = GetModuleHandleA(NULL); U(psp[0]).pszTemplate = (LPCSTR)MAKEINTRESOURCE(IDD_PROP_PAGE_INTRO); psp[0].pfnDlgProc = nav_page_proc; - hpsp[0] = CreatePropertySheetPageA(&psp[0]); + hpsp[0] = pCreatePropertySheetPageA(&psp[0]);
psp[1].dwSize = sizeof(PROPSHEETPAGEA); psp[1].hInstance = GetModuleHandleA(NULL); U(psp[1]).pszTemplate = (LPCSTR)MAKEINTRESOURCE(IDD_PROP_PAGE_EDIT); psp[1].pfnDlgProc = nav_page_proc; - hpsp[1] = CreatePropertySheetPageA(&psp[1]); + hpsp[1] = pCreatePropertySheetPageA(&psp[1]);
psp[2].dwSize = sizeof(PROPSHEETPAGEA); psp[2].hInstance = GetModuleHandleA(NULL); U(psp[2]).pszTemplate = (LPCSTR)MAKEINTRESOURCE(IDD_PROP_PAGE_RADIO); psp[2].pfnDlgProc = nav_page_proc; - hpsp[2] = CreatePropertySheetPageA(&psp[2]); + hpsp[2] = pCreatePropertySheetPageA(&psp[2]);
psp[3].dwSize = sizeof(PROPSHEETPAGEA); psp[3].hInstance = GetModuleHandleA(NULL); U(psp[3]).pszTemplate = (LPCSTR)MAKEINTRESOURCE(IDD_PROP_PAGE_EXIT); psp[3].pfnDlgProc = nav_page_proc; - hpsp[3] = CreatePropertySheetPageA(&psp[3]); + hpsp[3] = pCreatePropertySheetPageA(&psp[3]);
/* set up the property sheet dialog */ memset(&psh, 0, sizeof(psh)); @@ -385,7 +389,7 @@ static void test_wiznavigation(void) psh.nPages = 4; psh.hwndParent = GetDesktopWindow(); U3(psh).phpage = hpsp; - hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "got invalid handle %p\n", hdlg);
ok(active_page == 0, "Active page should be 0. Is: %d\n", active_page); @@ -480,7 +484,7 @@ static void test_buttons(void) psp.pfnDlgProc = page_dlg_proc; psp.lParam = 0;
- hpsp[0] = CreatePropertySheetPageA(&psp); + hpsp[0] = pCreatePropertySheetPageA(&psp);
memset(&psh, 0, sizeof(psh)); psh.dwSize = PROPSHEETHEADERA_V1_SIZE; @@ -491,7 +495,7 @@ static void test_buttons(void) U3(psh).phpage = hpsp; psh.pfnCallback = sheet_callback;
- hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "got null handle\n");
/* OK button */ @@ -587,7 +591,7 @@ static void test_custom_default_button(void) add_button_has_been_pressed = FALSE;
/* Create the modeless property sheet. */ - hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "Cannot create the property sheet\n");
/* Set the Add button as the default button. */ @@ -798,7 +802,7 @@ static void test_messages(void) psp.pfnDlgProc = page_dlg_proc_messages; psp.lParam = 0;
- hpsp[0] = CreatePropertySheetPageA(&psp); + hpsp[0] = pCreatePropertySheetPageA(&psp);
memset(&psh, 0, sizeof(psh)); psh.dwSize = PROPSHEETHEADERA_V1_SIZE; @@ -810,7 +814,7 @@ static void test_messages(void) U3(psh).phpage = hpsp; psh.pfnCallback = sheet_callback_messages;
- hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "got invalid handle %p\n", hdlg);
ShowWindow(hdlg,SW_NORMAL); @@ -839,15 +843,15 @@ static void test_PSM_ADDPAGE(void) psp.lParam = 0;
/* multiple pages with the same data */ - hpsp[0] = CreatePropertySheetPageA(&psp); - hpsp[1] = CreatePropertySheetPageA(&psp); - hpsp[2] = CreatePropertySheetPageA(&psp); + hpsp[0] = pCreatePropertySheetPageA(&psp); + hpsp[1] = pCreatePropertySheetPageA(&psp); + hpsp[2] = pCreatePropertySheetPageA(&psp);
U(psp).pszTemplate = (LPCSTR)MAKEINTRESOURCE(IDD_PROP_PAGE_ERROR); - hpsp[3] = CreatePropertySheetPageA(&psp); + hpsp[3] = pCreatePropertySheetPageA(&psp);
psp.dwFlags = PSP_PREMATURE; - hpsp[4] = CreatePropertySheetPageA(&psp); + hpsp[4] = pCreatePropertySheetPageA(&psp);
memset(&psh, 0, sizeof(psh)); psh.dwSize = PROPSHEETHEADERA_V1_SIZE; @@ -857,7 +861,7 @@ static void test_PSM_ADDPAGE(void) psh.hwndParent = GetDesktopWindow(); U3(psh).phpage = hpsp;
- hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "got invalid handle %p\n", hdlg);
/* add pages one by one */ @@ -906,7 +910,7 @@ if (0) r = SendMessageA(tab, TCM_GETITEMCOUNT, 0, 0); ok(r == 3, "got %d\n", r);
- DestroyPropertySheetPage(hpsp[4]); + pDestroyPropertySheetPage(hpsp[4]); DestroyWindow(hdlg); }
@@ -929,15 +933,15 @@ static void test_PSM_INSERTPAGE(void) psp.lParam = 0;
/* multiple pages with the same data */ - hpsp[0] = CreatePropertySheetPageA(&psp); - hpsp[1] = CreatePropertySheetPageA(&psp); - hpsp[2] = CreatePropertySheetPageA(&psp); + hpsp[0] = pCreatePropertySheetPageA(&psp); + hpsp[1] = pCreatePropertySheetPageA(&psp); + hpsp[2] = pCreatePropertySheetPageA(&psp);
U(psp).pszTemplate = (LPCSTR)MAKEINTRESOURCE(IDD_PROP_PAGE_ERROR); - hpsp[3] = CreatePropertySheetPageA(&psp); + hpsp[3] = pCreatePropertySheetPageA(&psp);
psp.dwFlags = PSP_PREMATURE; - hpsp[4] = CreatePropertySheetPageA(&psp); + hpsp[4] = pCreatePropertySheetPageA(&psp);
memset(&psh, 0, sizeof(psh)); psh.dwSize = PROPSHEETHEADERA_V1_SIZE; @@ -947,7 +951,7 @@ static void test_PSM_INSERTPAGE(void) psh.hwndParent = GetDesktopWindow(); U3(psh).phpage = hpsp;
- hdlg = (HWND)PropertySheetA(&psh); + hdlg = (HWND)pPropertySheetA(&psh); ok(hdlg != INVALID_HANDLE_VALUE, "got invalid handle %p\n", hdlg);
/* add pages one by one */ @@ -1000,7 +1004,7 @@ if (0) r = SendMessageA(tab, TCM_GETITEMCOUNT, 0, 0); ok(r == 3, "got %d\n", r);
- DestroyPropertySheetPage(hpsp[4]); + pDestroyPropertySheetPage(hpsp[4]); DestroyWindow(hdlg); }
@@ -1090,7 +1094,7 @@ static void test_CreatePropertySheetPage(void) for (page.u.pageA.dwSize = PROPSHEETPAGEA_V1_SIZE - 1; page.u.pageA.dwSize <= PROPSHEETPAGEA_V4_SIZE + 1; page.u.pageA.dwSize++) { page.addref_called = 0; - hpsp = CreatePropertySheetPageA(&page.u.pageA); + hpsp = pCreatePropertySheetPageA(&page.u.pageA);
if (page.u.pageA.dwSize < PROPSHEETPAGEA_V1_SIZE) ok(hpsp == NULL, "Expected failure, size %u\n", page.u.pageA.dwSize); @@ -1103,7 +1107,7 @@ static void test_CreatePropertySheetPage(void) if (hpsp) { page.release_called = 0; - ret = DestroyPropertySheetPage(hpsp); + ret = pDestroyPropertySheetPage(hpsp); ok(ret, "Failed to destroy a page\n"); ok(page.release_called == 1, "Expected RELEASE callback message\n"); } @@ -1119,7 +1123,7 @@ static void test_CreatePropertySheetPage(void) for (page.u.pageW.dwSize = PROPSHEETPAGEW_V1_SIZE - 1; page.u.pageW.dwSize <= PROPSHEETPAGEW_V4_SIZE + 1; page.u.pageW.dwSize++) { page.addref_called = 0; - hpsp = CreatePropertySheetPageW(&page.u.pageW); + hpsp = pCreatePropertySheetPageW(&page.u.pageW);
if (page.u.pageW.dwSize < PROPSHEETPAGEW_V1_SIZE) ok(hpsp == NULL, "Expected failure, size %u\n", page.u.pageW.dwSize); @@ -1132,13 +1136,25 @@ static void test_CreatePropertySheetPage(void) if (hpsp) { page.release_called = 0; - ret = DestroyPropertySheetPage(hpsp); + ret = pDestroyPropertySheetPage(hpsp); ok(ret, "Failed to destroy a page\n"); ok(page.release_called == 1, "Expected RELEASE callback message\n"); } } }
+static void init_functions(void) +{ + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll"); + +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); + X(CreatePropertySheetPageA); + X(CreatePropertySheetPageW); + X(DestroyPropertySheetPage); + X(PropertySheetA); +#undef X +} + START_TEST(propsheet) { detect_locale(); @@ -1150,6 +1166,8 @@ START_TEST(propsheet) SetProcessDefaultLayout(LAYOUT_RTL); }
+ init_functions(); + test_title(); test_nopage(); test_disableowner(); diff --git a/dlls/comctl32/tests/rebar.c b/dlls/comctl32/tests/rebar.c index 6430ba2b61..2ff4cebdf9 100644 --- a/dlls/comctl32/tests/rebar.c +++ b/dlls/comctl32/tests/rebar.c @@ -30,6 +30,9 @@
#include "wine/test.h"
+static BOOL (WINAPI *pImageList_Destroy)(HIMAGELIST); +static HIMAGELIST (WINAPI *pImageList_LoadImageA)(HINSTANCE, LPCSTR, int, int, COLORREF, UINT, UINT); + static RECT height_change_notify_rect; static HWND hMainWnd; static int system_font_height; @@ -577,7 +580,7 @@ static void test_layout(void) check_sizes();
/* an image will increase the band height */ - himl = ImageList_LoadImageA(GetModuleHandleA("comctl32"), MAKEINTRESOURCEA(121), 24, 2, + himl = pImageList_LoadImageA(GetModuleHandleA("comctl32"), MAKEINTRESOURCEA(121), 24, 2, CLR_NONE, IMAGE_BITMAP, LR_DEFAULTCOLOR); ri.cbSize = sizeof(ri); ri.fMask = RBIM_IMAGELIST; @@ -658,7 +661,7 @@ static void test_layout(void)
rbsize_results_free(); DestroyWindow(hRebar); - ImageList_Destroy(himl); + pImageList_Destroy(himl); }
#if 0 /* use this to generate more tests */ @@ -1125,26 +1128,22 @@ static void test_notification(void) DestroyWindow(rebar); }
+static void init_functions(void) +{ + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll"); + +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); + X(ImageList_Destroy); + X(ImageList_LoadImageA); +#undef X +} + START_TEST(rebar) { - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); - INITCOMMONCONTROLSEX iccex; MSG msg;
init_system_font_height(); - - /* LoadLibrary is needed. This file has no reference to functions in comctl32 */ - hComctl32 = LoadLibraryA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (!pInitCommonControlsEx) - { - win_skip("InitCommonControlsEx() is missing. Skipping the tests\n"); - return; - } - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_COOL_CLASSES; - pInitCommonControlsEx(&iccex); + init_functions();
hMainWnd = create_parent_window();
@@ -1169,6 +1168,4 @@ out: DispatchMessageA(&msg); } DestroyWindow(hMainWnd); - - FreeLibrary(hComctl32); } diff --git a/dlls/comctl32/tests/status.c b/dlls/comctl32/tests/status.c index a394beb42a..78cbbb37ba 100644 --- a/dlls/comctl32/tests/status.c +++ b/dlls/comctl32/tests/status.c @@ -593,8 +593,6 @@ START_TEST(status) 226+GetSystemMetrics(SM_CYCAPTION)+2*GetSystemMetrics(SM_CYSIZEFRAME), NULL, NULL, GetModuleHandleA(NULL), 0);
- InitCommonControls(); - register_subclass();
test_status_control(); diff --git a/dlls/comctl32/tests/subclass.c b/dlls/comctl32/tests/subclass.c index 720c68e28d..abe63a1547 100644 --- a/dlls/comctl32/tests/subclass.c +++ b/dlls/comctl32/tests/subclass.c @@ -286,7 +286,7 @@ static BOOL init_function_pointers(void) HMODULE hmod; void *ptr;
- hmod = GetModuleHandleA("comctl32.dll"); + hmod = LoadLibraryA("comctl32.dll"); ok(hmod != NULL, "got %p\n", hmod);
/* Functions have to be loaded by ordinal. Only XP and W2K3 export diff --git a/dlls/comctl32/tests/tab.c b/dlls/comctl32/tests/tab.c index 72165c8100..0bfbb38a58 100644 --- a/dlls/comctl32/tests/tab.c +++ b/dlls/comctl32/tests/tab.c @@ -40,6 +40,11 @@
#define TabWidthPadded(padd_x, num) (DEFAULT_MIN_TAB_WIDTH - (TAB_PADDING_X - (padd_x)) * num)
+static HIMAGELIST (WINAPI *pImageList_Create)(INT,INT,UINT,INT,INT); +static BOOL (WINAPI *pImageList_Destroy)(HIMAGELIST); +static INT (WINAPI *pImageList_GetImageCount)(HIMAGELIST); +static INT (WINAPI *pImageList_ReplaceIcon)(HIMAGELIST,INT,HICON); + static void CheckSize(HWND hwnd, INT width, INT height, const char *msg, int line) { RECT r; @@ -470,7 +475,7 @@ static void test_tab(INT nMinTabWidth) { HWND hwTab; RECT rTab; - HIMAGELIST himl = ImageList_Create(21, 21, ILC_COLOR, 3, 4); + HIMAGELIST himl = pImageList_Create(21, 21, ILC_COLOR, 3, 4); SIZE size; HDC hdc; HFONT hOldFont; @@ -608,7 +613,7 @@ static void test_tab(INT nMinTabWidth)
DestroyWindow (hwTab);
- ImageList_Destroy(himl); + pImageList_Destroy(himl); }
static void test_width(void) @@ -1165,12 +1170,12 @@ static void test_removeimage(void) INT i; TCITEMA item; HICON hicon; - HIMAGELIST himl = ImageList_Create(16, 16, ILC_COLOR, 3, 4); + HIMAGELIST himl = pImageList_Create(16, 16, ILC_COLOR, 3, 4);
hicon = CreateIcon(NULL, 16, 16, 1, 1, bits, bits); - ImageList_AddIcon(himl, hicon); - ImageList_AddIcon(himl, hicon); - ImageList_AddIcon(himl, hicon); + pImageList_ReplaceIcon(himl, -1, hicon); + pImageList_ReplaceIcon(himl, -1, hicon); + pImageList_ReplaceIcon(himl, -1, hicon);
hwTab = create_tabcontrol(TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE); SendMessageA(hwTab, TCM_SETIMAGELIST, 0, (LPARAM)himl); @@ -1185,7 +1190,8 @@ static void test_removeimage(void)
/* remove image middle image */ SendMessageA(hwTab, TCM_REMOVEIMAGE, 1, 0); - expect(2, ImageList_GetImageCount(himl)); + i = pImageList_GetImageCount(himl); + ok(i == 2, "Unexpected image count %d.\n", i); item.iImage = -1; SendMessageA(hwTab, TCM_GETITEMA, 0, (LPARAM)&item); expect(0, item.iImage); @@ -1197,7 +1203,8 @@ static void test_removeimage(void) expect(1, item.iImage); /* remove first image */ SendMessageA(hwTab, TCM_REMOVEIMAGE, 0, 0); - expect(1, ImageList_GetImageCount(himl)); + i = pImageList_GetImageCount(himl); + ok(i == 1, "Unexpected image count %d.\n", i); item.iImage = 0; SendMessageA(hwTab, TCM_GETITEMA, 0, (LPARAM)&item); expect(-1, item.iImage); @@ -1209,7 +1216,8 @@ static void test_removeimage(void) expect(0, item.iImage); /* remove the last one */ SendMessageA(hwTab, TCM_REMOVEIMAGE, 0, 0); - expect(0, ImageList_GetImageCount(himl)); + i = pImageList_GetImageCount(himl); + ok(i == 0, "Unexpected image count %d.\n", i); for(i = 0; i < 3; i++) { item.iImage = 0; SendMessageA(hwTab, TCM_GETITEMA, i, (LPARAM)&item); @@ -1217,7 +1225,7 @@ static void test_removeimage(void) }
DestroyWindow(hwTab); - ImageList_Destroy(himl); + pImageList_Destroy(himl); DestroyIcon(hicon); }
@@ -1423,6 +1431,18 @@ static void test_create(void) } }
+static void init_functions(void) +{ + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll"); + +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); + X(ImageList_Create); + X(ImageList_Destroy); + X(ImageList_GetImageCount); + X(ImageList_ReplaceIcon); +#undef X +} + START_TEST(tab) { LOGFONTA logfont; @@ -1434,7 +1454,7 @@ START_TEST(tab) logfont.lfCharSet = ANSI_CHARSET; hFont = CreateFontIndirectA(&logfont);
- InitCommonControls(); + init_functions();
test_width();
diff --git a/dlls/comctl32/tests/toolbar.c b/dlls/comctl32/tests/toolbar.c index 2c1b789484..38b8339378 100644 --- a/dlls/comctl32/tests/toolbar.c +++ b/dlls/comctl32/tests/toolbar.c @@ -37,6 +37,13 @@ #define PARENT_SEQ_INDEX 0 #define NUM_MSG_SEQUENCES 1
+static HWND (WINAPI *pCreateToolbarEx)(HWND, DWORD, UINT, INT, HINSTANCE, UINT_PTR, const TBBUTTON *, + INT, INT, INT, INT, INT, UINT); +static BOOL (WINAPI *pImageList_Destroy)(HIMAGELIST); +static INT (WINAPI *pImageList_GetImageCount)(HIMAGELIST); +static BOOL (WINAPI *pImageList_GetIconSize)(HIMAGELIST, int *, int *); +static HIMAGELIST (WINAPI *pImageList_LoadImageA)(HINSTANCE, LPCSTR, int, int, COLORREF, UINT, UINT); + static struct msg_sequence *sequences[NUM_MSG_SEQUENCES];
static HWND hMainWnd; @@ -376,7 +383,7 @@ static void basic_test(void) MakeButton(buttons+3, 1003, TBSTYLE_SEP|TBSTYLE_GROUP, 0); MakeButton(buttons+6, 1006, TBSTYLE_SEP, 0);
- hToolbar = CreateToolbarEx(hMainWnd, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE | WS_CLIPCHILDREN | CCS_TOP | WS_CHILD | TBSTYLE_LIST, 100, @@ -482,8 +489,8 @@ static void add_128x15_bitmap(HWND hToolbar, int nCmds) HIMAGELIST himl = (HIMAGELIST)SendMessageA(hToolbar, TB_GETIMAGELIST, 0, 0); \ ok(himl != NULL, "No image list\n"); \ if (himl != NULL) {\ - ok(ImageList_GetImageCount(himl) == count, "Images count mismatch - %d vs %d\n", count, ImageList_GetImageCount(himl)); \ - ImageList_GetIconSize(himl, &cx, &cy); \ + ok(pImageList_GetImageCount(himl) == count, "Images count mismatch - %d vs %d\n", count, pImageList_GetImageCount(himl)); \ + pImageList_GetIconSize(himl, &cx, &cy); \ ok(cx == dx && cy == dy, "Icon size mismatch - %dx%d vs %dx%d\n", dx, dy, cx, cy); \ } \ } @@ -515,11 +522,11 @@ static void test_add_bitmap(void) himl = (HIMAGELIST)SendMessageA(hToolbar, TB_GETIMAGELIST, 0, 0); ok(himl != NULL, "Got %p\n", himl);
- ret = ImageList_GetIconSize(himl, &cx, &cy); + ret = pImageList_GetIconSize(himl, &cx, &cy); ok(ret, "Got %d\n", ret); ok(cx == cy, "Got %d x %d\n", cx, cy);
- count = ImageList_GetImageCount(himl); + count = pImageList_GetImageCount(himl);
/* Image count */ switch (id) @@ -688,7 +695,7 @@ static void test_add_bitmap(void)
/* the control can add bitmaps to an existing image list */ rebuild_toolbar(&hToolbar); - himl = ImageList_LoadImageA(GetModuleHandleA(NULL), (LPCSTR)MAKEINTRESOURCE(IDB_BITMAP_80x15), + himl = pImageList_LoadImageA(GetModuleHandleA(NULL), (LPCSTR)MAKEINTRESOURCE(IDB_BITMAP_80x15), 20, 2, CLR_NONE, IMAGE_BITMAP, LR_DEFAULTCOLOR); ok(himl != NULL, "failed to create imagelist\n"); ok(SendMessageA(hToolbar, TB_SETIMAGELIST, 0, (LPARAM)himl) == 0, "TB_SETIMAGELIST failed\n"); @@ -709,7 +716,7 @@ static void test_add_bitmap(void) addbmp.hInst = HINST_COMMCTRL; addbmp.nID = IDB_STD_SMALL_COLOR; rebuild_toolbar(&hToolbar); - ImageList_Destroy(himl); + pImageList_Destroy(himl);
ok(SendMessageA(hToolbar, TB_ADDBITMAP, 1, (LPARAM)&addbmp) == 0, "TB_ADDBITMAP - unexpected return\n"); CHECK_IMAGELIST(15, 16, 16); @@ -1506,14 +1513,14 @@ static void test_sizes(void)
/* TB_SETIMAGELIST always changes the height but the width only if necessary */ SendMessageA(hToolbar, TB_SETBUTTONSIZE, 0, MAKELONG(100, 100)); - himl = ImageList_LoadImageA(GetModuleHandleA(NULL), (LPCSTR)MAKEINTRESOURCE(IDB_BITMAP_80x15), + himl = pImageList_LoadImageA(GetModuleHandleA(NULL), (LPCSTR)MAKEINTRESOURCE(IDB_BITMAP_80x15), 20, 2, CLR_NONE, IMAGE_BITMAP, LR_DEFAULTCOLOR); ok(SendMessageA(hToolbar, TB_SETIMAGELIST, 0, (LPARAM)himl) == 0, "TB_SETIMAGELIST failed\n"); check_button_size(hToolbar, 100, 21); SendMessageA(hToolbar, TB_SETBUTTONSIZE, 0, MAKELONG(100, 100)); check_button_size(hToolbar, 100, 100); /* But there are no update when we change imagelist, and image sizes are the same */ - himl2 = ImageList_LoadImageA(GetModuleHandleA(NULL), (LPCSTR)MAKEINTRESOURCE(IDB_BITMAP_128x15), + himl2 = pImageList_LoadImageA(GetModuleHandleA(NULL), (LPCSTR)MAKEINTRESOURCE(IDB_BITMAP_128x15), 20, 2, CLR_NONE, IMAGE_BITMAP, LR_DEFAULTCOLOR); ok(SendMessageA(hToolbar, TB_SETIMAGELIST, 0, (LRESULT)himl2) == (LRESULT)himl, "TB_SETIMAGELIST failed\n"); check_button_size(hToolbar, 100, 100); @@ -1538,8 +1545,8 @@ static void test_sizes(void) check_sizes_todo(0x30); /* some small problems with BTNS_AUTOSIZE button sizes */
rebuild_toolbar(&hToolbar); - ImageList_Destroy(himl); - ImageList_Destroy(himl2); + pImageList_Destroy(himl); + pImageList_Destroy(himl2);
SendMessageA(hToolbar, TB_ADDBUTTONSA, 1, (LPARAM)&buttons3[3]); check_button_size(hToolbar, 7 + string_width(STRING2), 23 + fontheight); @@ -1823,43 +1830,43 @@ static void test_createtoolbarex(void) TBBUTTON btns[3]; ZeroMemory(&btns, sizeof(btns));
- hToolbar = CreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, 3, 20, 20, 16, 16, sizeof(TBBUTTON)); CHECK_IMAGELIST(16, 20, 20); compare((int)SendMessageA(hToolbar, TB_GETBUTTONSIZE, 0, 0), 0x1a001b, "%x"); DestroyWindow(hToolbar);
- hToolbar = CreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, 3, 4, 4, 16, 16, sizeof(TBBUTTON)); CHECK_IMAGELIST(32, 4, 4); compare((int)SendMessageA(hToolbar, TB_GETBUTTONSIZE, 0, 0), 0xa000b, "%x"); DestroyWindow(hToolbar);
- hToolbar = CreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, 3, 0, 8, 12, 12, sizeof(TBBUTTON)); CHECK_IMAGELIST(16, 12, 12); compare((int)SendMessageA(hToolbar, TB_GETBUTTONSIZE, 0, 0), 0x120013, "%x"); DestroyWindow(hToolbar);
- hToolbar = CreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, 3, -1, 8, 12, 12, sizeof(TBBUTTON)); CHECK_IMAGELIST(16, 12, 8); compare((int)SendMessageA(hToolbar, TB_GETBUTTONSIZE, 0, 0), 0xe0013, "%x"); DestroyWindow(hToolbar);
- hToolbar = CreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, 3, -1, 8, -1, 12, sizeof(TBBUTTON)); CHECK_IMAGELIST(16, 16, 8); compare((int)SendMessageA(hToolbar, TB_GETBUTTONSIZE, 0, 0), 0xe0017, "%x"); DestroyWindow(hToolbar);
- hToolbar = CreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, 3, 0, 0, 12, -1, sizeof(TBBUTTON)); CHECK_IMAGELIST(16, 12, 16); compare((int)SendMessageA(hToolbar, TB_GETBUTTONSIZE, 0, 0), 0x160013, "%x"); DestroyWindow(hToolbar);
- hToolbar = CreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE, 1, 16, GetModuleHandleA(NULL), IDB_BITMAP_128x15, btns, 3, 0, 0, 0, 12, sizeof(TBBUTTON)); CHECK_IMAGELIST(16, 16, 16); compare((int)SendMessageA(hToolbar, TB_GETBUTTONSIZE, 0, 0), 0x160017, "%x"); @@ -1928,7 +1935,7 @@ static void test_setrows(void) MakeButton(buttons+i, 1000+i, TBSTYLE_FLAT | TBSTYLE_CHECKGROUP, 0);
/* Test 1 - 9 buttons */ - hToolbar = CreateToolbarEx(hMainWnd, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE | WS_CLIPCHILDREN | WS_CHILD | CCS_NORESIZE | CCS_NOPARENTALIGN | CCS_NOMOVEY | CCS_TOP, 0, @@ -2047,7 +2054,7 @@ static void test_get_set_style(void) MakeButton(buttons+3, 1003, TBSTYLE_SEP|TBSTYLE_GROUP, 0); MakeButton(buttons+6, 1006, TBSTYLE_SEP, 0);
- hToolbar = CreateToolbarEx(hMainWnd, + hToolbar = pCreateToolbarEx(hMainWnd, WS_VISIBLE | WS_CLIPCHILDREN | CCS_TOP | WS_CHILD | TBSTYLE_LIST, 100, @@ -2507,6 +2514,19 @@ static void test_imagelist(void) DestroyWindow(hwnd); }
+static void init_functions(void) +{ + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll"); + +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); + X(CreateToolbarEx); + X(ImageList_GetIconSize); + X(ImageList_GetImageCount); + X(ImageList_LoadImageA); + X(ImageList_Destroy); +#undef X +} + START_TEST(toolbar) { WNDCLASSA wc; @@ -2514,9 +2534,8 @@ START_TEST(toolbar) RECT rc;
init_msg_sequences(sequences, NUM_MSG_SEQUENCES); + init_functions();
- InitCommonControls(); - wc.style = CS_HREDRAW | CS_VREDRAW; wc.cbClsExtra = 0; wc.cbWndExtra = 0; diff --git a/dlls/comctl32/tests/tooltips.c b/dlls/comctl32/tests/tooltips.c index be6ab400a0..7e82604376 100644 --- a/dlls/comctl32/tests/tooltips.c +++ b/dlls/comctl32/tests/tooltips.c @@ -1057,7 +1057,7 @@ static void test_margin(void)
START_TEST(tooltips) { - InitCommonControls(); + LoadLibraryA("comctl32.dll");
test_create_tooltip(); test_customdraw(); diff --git a/dlls/comctl32/tests/trackbar.c b/dlls/comctl32/tests/trackbar.c index 9cc8b277ee..31845d10e0 100644 --- a/dlls/comctl32/tests/trackbar.c +++ b/dlls/comctl32/tests/trackbar.c @@ -1296,8 +1296,9 @@ static void test_create(void)
START_TEST(trackbar) { + LoadLibraryA("comctl32.dll"); + init_msg_sequences(sequences, NUM_MSG_SEQUENCE); - InitCommonControls();
/* create parent window */ hWndParent = create_parent_window(); diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c index a014625a0a..e7568d05de 100644 --- a/dlls/comctl32/tests/treeview.c +++ b/dlls/comctl32/tests/treeview.c @@ -2668,25 +2668,11 @@ static void test_right_click(void)
START_TEST(treeview) { - HMODULE hComctl32; - BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*); WNDCLASSA wc; MSG msg;
ULONG_PTR ctx_cookie; HANDLE hCtx; - - hComctl32 = GetModuleHandleA("comctl32.dll"); - pInitCommonControlsEx = (void*)GetProcAddress(hComctl32, "InitCommonControlsEx"); - if (pInitCommonControlsEx) - { - INITCOMMONCONTROLSEX iccex; - iccex.dwSize = sizeof(iccex); - iccex.dwICC = ICC_TREEVIEW_CLASSES; - pInitCommonControlsEx(&iccex); - } - else - InitCommonControls();
init_msg_sequences(sequences, NUM_MSG_SEQUENCES); init_msg_sequences(item_sequence, 1); diff --git a/dlls/comctl32/tests/updown.c b/dlls/comctl32/tests/updown.c index 639e7802a9..f549c41583 100644 --- a/dlls/comctl32/tests/updown.c +++ b/dlls/comctl32/tests/updown.c @@ -63,6 +63,8 @@
static HWND parent_wnd, g_edit;
+static HWND (WINAPI *pCreateUpDownControl)(DWORD, INT, INT, INT, INT, + HWND, INT, HINSTANCE, HWND, INT, INT, INT); static BOOL (WINAPI *pSetWindowSubclass)(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR);
static struct msg_sequence *sequences[NUM_MSG_SEQUENCES]; @@ -882,7 +884,7 @@ static void test_CreateUpDownControl(void) RECT rect;
GetClientRect(parent_wnd, &rect); - updown = CreateUpDownControl(WS_CHILD | WS_BORDER | WS_VISIBLE, + updown = pCreateUpDownControl(WS_CHILD | WS_BORDER | WS_VISIBLE, 0, 0, rect.right, rect.bottom, parent_wnd, 1, GetModuleHandleA(NULL), g_edit, 100, 10, 50); ok(updown != NULL, "Failed to create control.\n");
@@ -898,13 +900,22 @@ static void test_CreateUpDownControl(void) DestroyWindow(updown); }
-START_TEST(updown) +static void init_functions(void) { - HMODULE mod = GetModuleHandleA("comctl32.dll"); + HMODULE hComCtl32 = LoadLibraryA("comctl32.dll"); + +#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f); +#define X2(f, ord) p##f = (void*)GetProcAddress(hComCtl32, (const char *)ord); + X(CreateUpDownControl); + X2(SetWindowSubclass, 410); +#undef X +#undef X2 +}
- pSetWindowSubclass = (void*)GetProcAddress(mod, (LPSTR)410); +START_TEST(updown) +{ + init_functions();
- InitCommonControls(); init_msg_sequences(sequences, NUM_MSG_SEQUENCES);
parent_wnd = create_parent_window();