Nikolay Sivov : comctl32/tests: A basic test for ListView WM_SETREDRAW.

Alexandre Julliard julliard at winehq.org
Thu May 21 09:35:51 CDT 2009


Module: wine
Branch: master
Commit: d17afea70f318a43042f6168518a88ce4cbf4af6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d17afea70f318a43042f6168518a88ce4cbf4af6

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Wed May 20 22:34:48 2009 +0400

comctl32/tests: A basic test for ListView WM_SETREDRAW.

---

 dlls/comctl32/tests/listview.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c
index 0c6b139..1c002d9 100644
--- a/dlls/comctl32/tests/listview.c
+++ b/dlls/comctl32/tests/listview.c
@@ -2215,6 +2215,32 @@ static void test_nosortheader(void)
     DestroyWindow(hwnd);
 }
 
+static void test_setredraw(void)
+{
+    HWND hwnd;
+    DWORD_PTR style;
+    DWORD ret;
+
+    hwnd = create_listview_control(0);
+    ok(hwnd != NULL, "failed to create a listview window\n");
+
+    /* Passing WM_SETREDRAW to DefWinProc removes WS_VISIBLE.
+       ListView seems to handle it internally without DefWinProc */
+
+    /* default value first */
+    ret = SendMessage(hwnd, WM_SETREDRAW, TRUE, 0);
+    expect(0, ret);
+    /* disable */
+    style = GetWindowLongPtr(hwnd, GWL_STYLE);
+    ok(style & WS_VISIBLE, "Expected WS_VISIBLE to be set\n");
+    ret = SendMessage(hwnd, WM_SETREDRAW, FALSE, 0);
+    expect(0, ret);
+    style = GetWindowLongPtr(hwnd, GWL_STYLE);
+    ok(style & WS_VISIBLE, "Expected WS_VISIBLE to be set\n");
+
+    DestroyWindow(hwnd);
+}
+
 START_TEST(listview)
 {
     HMODULE hComctl32;
@@ -2257,4 +2283,7 @@ START_TEST(listview)
     test_ownerdata();
     test_norecompute();
     test_nosortheader();
+    test_setredraw();
+
+    DestroyWindow(hwndparent);
 }




More information about the wine-cvs mailing list