The WM_MOUSEWHEEL message is specified to have absolute screen

coordinates.
This commit is contained in:
Russ Andersson 2004-12-22 17:20:36 +00:00 committed by Alexandre Julliard
parent 417fde8d42
commit 760dae9abe

View File

@ -375,16 +375,20 @@ static void process_raw_mouse_message( MSG *msg, BOOL remove )
pt = msg->pt;
/* Note: windows has no concept of a non-client wheel message */
if (hittest != HTCLIENT && msg->message != WM_MOUSEWHEEL)
if (msg->message != WM_MOUSEWHEEL)
{
msg->message += WM_NCMOUSEMOVE - WM_MOUSEMOVE;
msg->wParam = hittest;
}
else
{
/* coordinates don't get translated while tracking a menu */
/* FIXME: should differentiate popups and top-level menus */
if (!(info.flags & GUI_INMENUMODE)) ScreenToClient( msg->hwnd, &pt );
if (hittest != HTCLIENT)
{
msg->message += WM_NCMOUSEMOVE - WM_MOUSEMOVE;
msg->wParam = hittest;
}
else
{
/* coordinates don't get translated while tracking a menu */
/* FIXME: should differentiate popups and top-level menus */
if (!(info.flags & GUI_INMENUMODE))
ScreenToClient( msg->hwnd, &pt );
}
}
msg->lParam = MAKELONG( pt.x, pt.y );
}