win32: workaround WM_MOUSEWHEEL (#0011768)

git-svn-id: trunk@16515 -
This commit is contained in:
paul 2008-09-10 01:10:04 +00:00
parent 18acb578da
commit c9143f45a9

View File

@ -60,6 +60,14 @@ begin
Result := winClassName; Result := winClassName;
end; end;
function WndText(Wnd: HWND): String; inline;
var
winText: array[0..255] of char;
begin
GetWindowText(Wnd, @winText, 256);
Result := winText;
end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
Function: CallDefaultWindowProc Function: CallDefaultWindowProc
Params: Window - The window that receives a message Params: Window - The window that receives a message
@ -1827,8 +1835,11 @@ begin
Result := SendMessage(TargetWindow, WM_MOUSEWHEEL, WParam, LParam); Result := SendMessage(TargetWindow, WM_MOUSEWHEEL, WParam, LParam);
InMouseWheelRedirection := false; InMouseWheelRedirection := false;
exit; exit;
end; end
else
if TargetWindow <> Window then
exit;
//DebugLn('get WM_MOUSEWHEEL ', WndClassName(TargetWindow), ' ',WndText(TargetWindow));
// the mousewheel message is for us // the mousewheel message is for us
Msg := LM_MOUSEWHEEL; Msg := LM_MOUSEWHEEL;
Windows.ScreenToClient(TargetWindow, P); Windows.ScreenToClient(TargetWindow, P);