Commit 2d5abbd1 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

comctl32: Forward WM_MEASUREITEM to Rebar notification window.

parent 4f99560e
...@@ -46,7 +46,6 @@ ...@@ -46,7 +46,6 @@
* - RB_SETTOOLTIPS * - RB_SETTOOLTIPS
* - WM_CHARTOITEM * - WM_CHARTOITEM
* - WM_LBUTTONDBLCLK * - WM_LBUTTONDBLCLK
* - WM_MEASUREITEM
* - WM_PALETTECHANGED * - WM_PALETTECHANGED
* - WM_QUERYNEWPALETTE * - WM_QUERYNEWPALETTE
* - WM_RBUTTONDOWN * - WM_RBUTTONDOWN
...@@ -3723,6 +3722,7 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) ...@@ -3723,6 +3722,7 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
case WM_COMMAND: case WM_COMMAND:
case WM_DRAWITEM: case WM_DRAWITEM:
case WM_NOTIFY: case WM_NOTIFY:
case WM_MEASUREITEM:
return SendMessageW(REBAR_GetNotifyParent (infoPtr), uMsg, wParam, lParam); return SendMessageW(REBAR_GetNotifyParent (infoPtr), uMsg, wParam, lParam);
...@@ -3748,8 +3748,6 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) ...@@ -3748,8 +3748,6 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
case WM_LBUTTONUP: case WM_LBUTTONUP:
return REBAR_LButtonUp (infoPtr); return REBAR_LButtonUp (infoPtr);
/* case WM_MEASUREITEM: supported according to ControlSpy */
case WM_MOUSEMOVE: case WM_MOUSEMOVE:
return REBAR_MouseMove (infoPtr, lParam); return REBAR_MouseMove (infoPtr, lParam);
......
...@@ -124,7 +124,9 @@ static HWND build_toolbar(int nr, HWND hParent) ...@@ -124,7 +124,9 @@ static HWND build_toolbar(int nr, HWND hParent)
return hToolbar; return hToolbar;
} }
static LRESULT CALLBACK MyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) static int g_parent_measureitem;
static LRESULT CALLBACK parent_wndproc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{ {
switch (msg) switch (msg)
{ {
...@@ -135,6 +137,9 @@ static LRESULT CALLBACK MyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPa ...@@ -135,6 +137,9 @@ static LRESULT CALLBACK MyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPa
GetClientRect(lpnm->hwndFrom, &height_change_notify_rect); GetClientRect(lpnm->hwndFrom, &height_change_notify_rect);
} }
break; break;
case WM_MEASUREITEM:
g_parent_measureitem++;
break;
} }
return DefWindowProcA(hWnd, msg, wParam, lParam); return DefWindowProcA(hWnd, msg, wParam, lParam);
} }
...@@ -1056,7 +1061,7 @@ static BOOL register_parent_wnd_class(void) ...@@ -1056,7 +1061,7 @@ static BOOL register_parent_wnd_class(void)
wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW); wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW);
wc.lpszMenuName = NULL; wc.lpszMenuName = NULL;
wc.lpszClassName = "MyTestWnd"; wc.lpszClassName = "MyTestWnd";
wc.lpfnWndProc = MyWndProc; wc.lpfnWndProc = parent_wndproc;
return RegisterClassA(&wc); return RegisterClassA(&wc);
} }
...@@ -1106,6 +1111,20 @@ static void test_showband(void) ...@@ -1106,6 +1111,20 @@ static void test_showband(void)
DestroyWindow(hRebar); DestroyWindow(hRebar);
} }
static void test_notification(void)
{
MEASUREITEMSTRUCT mis;
HWND rebar;
rebar = create_rebar_control();
g_parent_measureitem = 0;
SendMessageA(rebar, WM_MEASUREITEM, 0, (LPARAM)&mis);
ok(g_parent_measureitem == 1, "got %d\n", g_parent_measureitem);
DestroyWindow(rebar);
}
START_TEST(rebar) START_TEST(rebar)
{ {
HMODULE hComctl32; HMODULE hComctl32;
...@@ -1132,6 +1151,7 @@ START_TEST(rebar) ...@@ -1132,6 +1151,7 @@ START_TEST(rebar)
test_bandinfo(); test_bandinfo();
test_colors(); test_colors();
test_showband(); test_showband();
test_notification();
if(!is_font_installed("System") || !is_font_installed("Tahoma")) if(!is_font_installed("System") || !is_font_installed("Tahoma"))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment