Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/user32/static.c | 3 +++ dlls/user32/tests/static.c | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+)
diff --git a/dlls/user32/static.c b/dlls/user32/static.c index 1f7c03121c3..1e74f92a3fd 100644 --- a/dlls/user32/static.c +++ b/dlls/user32/static.c @@ -493,6 +493,9 @@ LRESULT StaticWndProc_common( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam MAKEWPARAM( GetWindowLongPtrW(hwnd,GWLP_ID), STN_DBLCLK ), (LPARAM)hwnd); return 0;
+ case WM_MOUSEACTIVATE: + return MA_NOACTIVATE; + case STM_GETIMAGE: return (LRESULT)STATIC_GetImage( hwnd, wParam, full_style );
diff --git a/dlls/user32/tests/static.c b/dlls/user32/tests/static.c index 8776c3a9e07..91e2a5b32e7 100644 --- a/dlls/user32/tests/static.c +++ b/dlls/user32/tests/static.c @@ -130,6 +130,26 @@ static void test_set_text(void) DestroyWindow(hStatic); }
+static void test_mouse_activate(void) +{ + LRESULT ma; + HWND hStatic = build_static(SS_SIMPLE); + + ma = SendMessageW( hStatic, WM_MOUSEACTIVATE, (WPARAM)GetAncestor( hStatic, GA_ROOT ), + MAKELONG(HTCAPTION,WM_LBUTTONDOWN) ); + ok(ma == MA_NOACTIVATE, "got %d\n", ma); + + DestroyWindow(hStatic); + + hStatic = CreateWindowA("static", "Test2", WS_VISIBLE, 5, 5, 100, 100, NULL, NULL, NULL, NULL); + + ma = SendMessageW( hStatic, WM_MOUSEACTIVATE, (WPARAM)GetAncestor( hStatic, GA_ROOT ), + MAKELONG(HTCAPTION,WM_LBUTTONDOWN) ); + ok(ma == MA_NOACTIVATE, "got %d\n", ma); + + DestroyWindow(hStatic); +} + START_TEST(static) { static const char szClassName[] = "testclass"; @@ -162,6 +182,7 @@ START_TEST(static) test_updates(SS_ETCHEDHORZ, TODO_COUNT); test_updates(SS_ETCHEDVERT, TODO_COUNT); test_set_text(); + test_mouse_activate();
DestroyWindow(hMainWnd); }