From 948dd848fba5aff47ddc0a1aca3140296161642f Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Tue, 14 Feb 2017 07:47:38 +0300 Subject: [PATCH] comctl32/tests: Basic test for PGN_CALCSIZE. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/comctl32/pager.c | 2 ++ dlls/comctl32/tests/pager.c | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/dlls/comctl32/pager.c b/dlls/comctl32/pager.c index ced32be1148..171d70e531c 100644 --- a/dlls/comctl32/pager.c +++ b/dlls/comctl32/pager.c @@ -1036,6 +1036,8 @@ PAGER_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { PAGER_INFO *infoPtr = (PAGER_INFO *)GetWindowLongPtrW(hwnd, 0); + TRACE("(%p, %#x, %#lx, %#lx)\n", hwnd, uMsg, wParam, lParam); + if (!infoPtr && (uMsg != WM_CREATE)) return DefWindowProcW (hwnd, uMsg, wParam, lParam); diff --git a/dlls/comctl32/tests/pager.c b/dlls/comctl32/tests/pager.c index d3521403db3..48753ff7742 100644 --- a/dlls/comctl32/tests/pager.c +++ b/dlls/comctl32/tests/pager.c @@ -83,6 +83,28 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP add_message(sequences, PAGER_SEQ_INDEX, &msg); } + if (message == WM_NOTIFY) + { + NMHDR *nmhdr = (NMHDR *)lParam; + + switch (nmhdr->code) + { + case PGN_CALCSIZE: + { + NMPGCALCSIZE *nmpgcs = (NMPGCALCSIZE *)lParam; + DWORD style = GetWindowLongA(nmpgcs->hdr.hwndFrom, GWL_STYLE); + + if (style & PGS_HORZ) + ok(nmpgcs->dwFlag == PGF_CALCWIDTH, "Unexpected flags %#x.\n", nmpgcs->dwFlag); + else + ok(nmpgcs->dwFlag == PGF_CALCHEIGHT, "Unexpected flags %#x.\n", nmpgcs->dwFlag); + break; + } + default: + ; + } + } + defwndproc_counter++; ret = DefWindowProcA(hwnd, message, wParam, lParam); defwndproc_counter--;