Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
3845cc10
Commit
3845cc10
authored
Jan 24, 2018
by
Nikolay Sivov
Committed by
Alexandre Julliard
Jan 24, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comctl32/tests: Link to comctl32.dll dynamically.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
d5be8f57
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
373 additions
and
331 deletions
+373
-331
Makefile.in
dlls/comctl32/tests/Makefile.in
+1
-1
animate.c
dlls/comctl32/tests/animate.c
+1
-21
combo.c
dlls/comctl32/tests/combo.c
+13
-16
datetime.c
dlls/comctl32/tests/datetime.c
+13
-9
dpa.c
dlls/comctl32/tests/dpa.c
+26
-39
header.c
dlls/comctl32/tests/header.c
+20
-18
imagelist.c
dlls/comctl32/tests/imagelist.c
+18
-18
ipaddress.c
dlls/comctl32/tests/ipaddress.c
+0
-25
listview.c
dlls/comctl32/tests/listview.c
+40
-34
monthcal.c
dlls/comctl32/tests/monthcal.c
+13
-12
mru.c
dlls/comctl32/tests/mru.c
+16
-14
pager.c
dlls/comctl32/tests/pager.c
+0
-1
progress.c
dlls/comctl32/tests/progress.c
+19
-15
propsheet.c
dlls/comctl32/tests/propsheet.c
+52
-34
rebar.c
dlls/comctl32/tests/rebar.c
+16
-19
status.c
dlls/comctl32/tests/status.c
+19
-2
subclass.c
dlls/comctl32/tests/subclass.c
+1
-1
tab.c
dlls/comctl32/tests/tab.c
+31
-11
toolbar.c
dlls/comctl32/tests/toolbar.c
+41
-22
tooltips.c
dlls/comctl32/tests/tooltips.c
+1
-1
trackbar.c
dlls/comctl32/tests/trackbar.c
+2
-1
treeview.c
dlls/comctl32/tests/treeview.c
+14
-12
updown.c
dlls/comctl32/tests/updown.c
+16
-5
No files found.
dlls/comctl32/tests/Makefile.in
View file @
3845cc10
TESTDLL
=
comctl32.dll
IMPORTS
=
comctl32
ole32 user32 gdi32 advapi32
IMPORTS
=
ole32 user32 gdi32 advapi32
C_SRCS
=
\
animate.c
\
...
...
dlls/comctl32/tests/animate.c
View file @
3845cc10
...
...
@@ -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
();
...
...
dlls/comctl32/tests/combo.c
View file @
3845cc10
...
...
@@ -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
;
...
...
dlls/comctl32/tests/datetime.c
View file @
3845cc10
...
...
@@ -30,6 +30,8 @@
#define NUM_MSG_SEQUENCES 1
#define DATETIME_SEQ_INDEX 0
static
BOOL
(
WINAPI
*
pInitCommonControlsEx
)(
const
INITCOMMONCONTROLSEX
*
);
static
struct
msg_sequence
*
sequences
[
NUM_MSG_SEQUENCES
];
static
const
struct
message
test_dtm_set_format_seq
[]
=
{
...
...
@@ -777,19 +779,21 @@ static void test_dts_shownone(void)
DestroyWindow
(
hwnd
);
}
static
void
init_functions
(
void
)
{
HMODULE
hComCtl32
=
LoadLibraryA
(
"comctl32.dll"
);
#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f);
X
(
InitCommonControlsEx
);
#undef X
}
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
;
}
init_functions
();
iccex
.
dwSize
=
sizeof
(
iccex
);
iccex
.
dwICC
=
ICC_DATE_CLASSES
;
pInitCommonControlsEx
(
&
iccex
);
...
...
dlls/comctl32/tests/dpa.c
View file @
3845cc10
...
...
@@ -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
);
HMODULE
hComCtl32
=
LoadLibraryA
(
"comctl32.dll"
);
return
TRUE
;
}
#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
);
return
FALSE
;
/* 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
);
p
DPA_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
();
...
...
dlls/comctl32/tests/header.c
View file @
3845cc10
...
...
@@ -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
=
p
ImageList_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
);
p
ImageList_Destroy
(
hIml
);
ok_sequence
(
sequences
,
HEADER_SEQ_INDEX
,
imageMessages_seq
,
"imageMessages sequence testing"
,
FALSE
);
DestroyWindow
(
hChild
);
wasValid
=
ImageList_Destroy
(
hImageList
);
wasValid
=
p
ImageList_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
);
...
...
dlls/comctl32/tests/imagelist.c
View file @
3845cc10
...
...
@@ -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
);
p
ImageList_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
==
p
ImageList_Add
(
himl
,
hbm1
,
0
),
"failed to add bitmap 1
\n
"
);
ok
(
1
==
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_Destroy
((
HIMAGELIST
)
imgl
);
ok
(
ret
==
TRUE
,
"Expected TRUE, got %d
\n
"
,
ret
);
ret
=
ImageList_Destroy
((
HIMAGELIST
)
imgl
);
ret
=
p
ImageList_Destroy
((
HIMAGELIST
)
imgl
);
ok
(
ret
==
TRUE
,
"Expected TRUE, got %d
\n
"
,
ret
);
ret
=
ImageList_Destroy
((
HIMAGELIST
)
imgl
);
ret
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_Create
(
32
,
32
,
0
,
0
,
3
);
ok
(
himl1
!=
NULL
,
"failed to create himl1
\n
"
);
himl2
=
ImageList_Create
(
32
,
32
,
0
,
0
,
3
);
himl2
=
p
ImageList_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
=
p
ImageList_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
=
GetModuleHandle
A
(
"comctl32.dll"
);
HMODULE
hComCtl32
=
LoadLibrary
A
(
"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
();
...
...
dlls/comctl32/tests/ipaddress.c
View file @
3845cc10
...
...
@@ -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
();
}
dlls/comctl32/tests/listview.c
View file @
3845cc10
...
...
@@ -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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_Create
(
40
,
40
,
0
,
4
,
4
);
ok
(
himl40
!=
NULL
,
"failed to create imagelist
\n
"
);
himl80
=
ImageList_Create
(
80
,
80
,
0
,
4
,
4
);
himl80
=
p
ImageList_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
);
p
ImageList_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
);
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
);
p
ImageList_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
=
p
ImageList_Create
(
40
,
40
,
0
,
4
,
4
);
himl2
=
p
ImageList_Create
(
40
,
40
,
0
,
4
,
4
);
himl3
=
p
ImageList_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
();
...
...
dlls/comctl32/tests/monthcal.c
View file @
3845cc10
...
...
@@ -42,6 +42,8 @@
#define SEL_NOTIFY_TEST_ID 100
static
BOOL
(
WINAPI
*
pInitCommonControlsEx
)(
const
INITCOMMONCONTROLSEX
*
);
static
struct
msg_sequence
*
sequences
[
NUM_MSG_SEQUENCES
];
static
HWND
parent_wnd
;
...
...
@@ -598,8 +600,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
);
...
...
@@ -2039,22 +2039,23 @@ static void test_sel_notify(void)
}
}
static
void
init_functions
(
void
)
{
HMODULE
hComCtl32
=
LoadLibraryA
(
"comctl32.dll"
);
#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f);
X
(
InitCommonControlsEx
);
#undef X
}
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
;
}
init_functions
();
iccex
.
dwSize
=
sizeof
(
iccex
);
iccex
.
dwICC
=
ICC_DATE_CLASSES
;
pInitCommonControlsEx
(
&
iccex
);
...
...
dlls/comctl32/tests/mru.c
View file @
3845cc10
...
...
@@ -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
InitPointer
s
(
void
)
static
void
init_function
s
(
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
;
InitPointer
s
();
init_function
s
();
test_MRUListA
();
test_CreateMRUListLazyA
();
...
...
dlls/comctl32/tests/pager.c
View file @
3845cc10
...
...
@@ -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
();
...
...
dlls/comctl32/tests/progress.c
View file @
3845cc10
...
...
@@ -30,6 +30,7 @@
static
HWND
hProgressParentWnd
,
hProgressWnd
;
static
const
char
progressTestClass
[]
=
"ProgressBarTestClass"
;
static
BOOL
(
WINAPI
*
pInitCommonControlsEx
)(
const
INITCOMMONCONTROLSEX
*
);
static
HWND
create_progress
(
DWORD
style
)
{
...
...
@@ -94,24 +95,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
;
...
...
@@ -135,7 +122,7 @@ static void init(void)
GetClientRect
(
hProgressParentWnd
,
&
rect
);
hProgressWnd
=
CreateWindowExA
(
0
,
PROGRESS_CLASSA
,
""
,
WS_CHILD
|
WS_VISIBLE
,
0
,
0
,
rect
.
right
,
rect
.
bottom
,
hProgressParentWnd
,
NULL
,
GetModuleHandleA
(
NULL
),
0
);
ok
(
hProgressWnd
!=
NULL
,
"
failed to create parent wnd
\n
"
);
ok
(
hProgressWnd
!=
NULL
,
"
Failed to create progress bar.
\n
"
);
progress_wndproc
=
(
WNDPROC
)
SetWindowLongPtrA
(
hProgressWnd
,
GWLP_WNDPROC
,
(
LPARAM
)
progress_subclass_proc
);
ShowWindow
(
hProgressParentWnd
,
SW_SHOWNORMAL
);
...
...
@@ -250,8 +237,25 @@ static void test_setcolors(void)
DestroyWindow
(
progress
);
}
static
void
init_functions
(
void
)
{
HMODULE
hComCtl32
=
LoadLibraryA
(
"comctl32.dll"
);
#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f);
X
(
InitCommonControlsEx
);
#undef X
}
START_TEST
(
progress
)
{
INITCOMMONCONTROLSEX
iccex
;
init_functions
();
iccex
.
dwSize
=
sizeof
(
iccex
);
iccex
.
dwICC
=
ICC_PROGRESS_CLASS
;
pInitCommonControlsEx
(
&
iccex
);
init
();
test_redraw
();
...
...
dlls/comctl32/tests/propsheet.c
View file @
3845cc10
...
...
@@ -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
]
=
p
CreatePropertySheetPageA
(
&
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
)
p
PropertySheetA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
)
p
PropertySheetA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
=
p
PropertySheetA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
)
p
PropertySheetA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
)
p
PropertySheetA
(
&
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
)
p
PropertySheetA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
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
)
p
PropertySheetA
(
&
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
]
=
p
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
1
]
=
p
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
2
]
=
p
CreatePropertySheetPageA
(
&
psp
);
U
(
psp
).
pszTemplate
=
(
LPCSTR
)
MAKEINTRESOURCE
(
IDD_PROP_PAGE_ERROR
);
hpsp
[
3
]
=
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
3
]
=
p
CreatePropertySheetPageA
(
&
psp
);
psp
.
dwFlags
=
PSP_PREMATURE
;
hpsp
[
4
]
=
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
4
]
=
p
CreatePropertySheetPageA
(
&
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
)
p
PropertySheetA
(
&
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
]);
p
DestroyPropertySheetPage
(
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
]
=
p
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
1
]
=
p
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
2
]
=
p
CreatePropertySheetPageA
(
&
psp
);
U
(
psp
).
pszTemplate
=
(
LPCSTR
)
MAKEINTRESOURCE
(
IDD_PROP_PAGE_ERROR
);
hpsp
[
3
]
=
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
3
]
=
p
CreatePropertySheetPageA
(
&
psp
);
psp
.
dwFlags
=
PSP_PREMATURE
;
hpsp
[
4
]
=
CreatePropertySheetPageA
(
&
psp
);
hpsp
[
4
]
=
p
CreatePropertySheetPageA
(
&
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
)
p
PropertySheetA
(
&
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
]);
p
DestroyPropertySheetPage
(
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
=
p
CreatePropertySheetPageA
(
&
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
=
p
DestroyPropertySheetPage
(
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
=
p
CreatePropertySheetPageW
(
&
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
=
p
DestroyPropertySheetPage
(
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
();
...
...
dlls/comctl32/tests/rebar.c
View file @
3845cc10
...
...
@@ -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
=
p
ImageList_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
);
p
ImageList_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
);
}
dlls/comctl32/tests/status.c
View file @
3845cc10
...
...
@@ -43,6 +43,8 @@ static INT g_dpisize;
static
int
g_wmdrawitm_ctr
;
static
WNDPROC
g_wndproc_saved
;
static
BOOL
(
WINAPI
*
pInitCommonControlsEx
)(
const
INITCOMMONCONTROLSEX
*
);
static
HWND
create_status_control
(
DWORD
style
,
DWORD
exstyle
)
{
HWND
hWndStatus
;
...
...
@@ -584,17 +586,32 @@ static void test_notify(void)
ok
(
g_got_contextmenu
,
"WM_RBUTTONUP did not activate the context menu!
\n
"
);
}
static
void
init_functions
(
void
)
{
HMODULE
hComCtl32
=
LoadLibraryA
(
"comctl32.dll"
);
#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f);
X
(
InitCommonControlsEx
);
#undef X
}
START_TEST
(
status
)
{
INITCOMMONCONTROLSEX
iccex
;
init_functions
();
hinst
=
GetModuleHandleA
(
NULL
);
iccex
.
dwSize
=
sizeof
(
iccex
);
iccex
.
dwICC
=
ICC_BAR_CLASSES
;
pInitCommonControlsEx
(
&
iccex
);
g_hMainWnd
=
CreateWindowExA
(
0
,
"static"
,
""
,
WS_OVERLAPPEDWINDOW
,
CW_USEDEFAULT
,
CW_USEDEFAULT
,
672
+
2
*
GetSystemMetrics
(
SM_CXSIZEFRAME
),
226
+
GetSystemMetrics
(
SM_CYCAPTION
)
+
2
*
GetSystemMetrics
(
SM_CYSIZEFRAME
),
NULL
,
NULL
,
GetModuleHandleA
(
NULL
),
0
);
InitCommonControls
();
register_subclass
();
test_status_control
();
...
...
dlls/comctl32/tests/subclass.c
View file @
3845cc10
...
...
@@ -286,7 +286,7 @@ static BOOL init_function_pointers(void)
HMODULE
hmod
;
void
*
ptr
;
hmod
=
GetModuleHandle
A
(
"comctl32.dll"
);
hmod
=
LoadLibrary
A
(
"comctl32.dll"
);
ok
(
hmod
!=
NULL
,
"got %p
\n
"
,
hmod
);
/* Functions have to be loaded by ordinal. Only XP and W2K3 export
...
...
dlls/comctl32/tests/tab.c
View file @
3845cc10
...
...
@@ -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
=
p
ImageList_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
);
p
ImageList_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
=
p
ImageList_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
);
p
ImageList_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
);
InitCommonControl
s
();
init_function
s
();
test_width
();
...
...
dlls/comctl32/tests/toolbar.c
View file @
3845cc10
...
...
@@ -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
=
p
CreateToolbarEx
(
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, p
ImageList_GetImageCount(himl)); \
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
);
p
ImageList_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
=
p
ImageList_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
=
p
ImageList_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
);
p
ImageList_Destroy
(
himl
);
p
ImageList_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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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
=
p
CreateToolbarEx
(
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,8 +2534,7 @@ START_TEST(toolbar)
RECT
rc
;
init_msg_sequences
(
sequences
,
NUM_MSG_SEQUENCES
);
InitCommonControls
();
init_functions
();
wc
.
style
=
CS_HREDRAW
|
CS_VREDRAW
;
wc
.
cbClsExtra
=
0
;
...
...
dlls/comctl32/tests/tooltips.c
View file @
3845cc10
...
...
@@ -1057,7 +1057,7 @@ static void test_margin(void)
START_TEST
(
tooltips
)
{
InitCommonControls
(
);
LoadLibraryA
(
"comctl32.dll"
);
test_create_tooltip
();
test_customdraw
();
...
...
dlls/comctl32/tests/trackbar.c
View file @
3845cc10
...
...
@@ -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
();
...
...
dlls/comctl32/tests/treeview.c
View file @
3845cc10
...
...
@@ -33,6 +33,7 @@
#include "v6util.h"
#include "msg.h"
static
BOOL
(
WINAPI
*
pInitCommonControlsEx
)(
const
INITCOMMONCONTROLSEX
*
);
static
const
char
*
TEST_CALLBACK_TEXT
=
"callback_text"
;
static
TVITEMA
g_item_expanding
,
g_item_expanded
;
...
...
@@ -2666,27 +2667,28 @@ static void test_right_click(void)
DestroyWindow
(
hTree
);
}
static
void
init_functions
(
void
)
{
HMODULE
hComCtl32
=
LoadLibraryA
(
"comctl32.dll"
);
#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f);
X
(
InitCommonControlsEx
);
#undef X
}
START_TEST
(
treeview
)
{
HMODULE
hComctl32
;
BOOL
(
WINAPI
*
pInitCommonControlsEx
)(
const
INITCOMMONCONTROLSEX
*
);
INITCOMMONCONTROLSEX
iccex
;
ULONG_PTR
ctx_cookie
;
HANDLE
hCtx
;
WNDCLASSA
wc
;
MSG
msg
;
ULONG_PTR
ctx_cookie
;
HANDLE
hCtx
;
init_functions
();
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
);
...
...
dlls/comctl32/tests/updown.c
View file @
3845cc10
...
...
@@ -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
=
p
CreateUpDownControl
(
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
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment