Fixed HandleMouseWheel to be __WIN32__ sensitive

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2001-05-06 00:25:03 +00:00
parent a2cf862156
commit 0f7a546d9c

View File

@@ -3371,16 +3371,31 @@ bool wxWindow::HandleMouseWheel(WXWPARAM wParam, WXLPARAM lParam)
GET_X_LPARAM(lParam),
GET_Y_LPARAM(lParam),
LOWORD(wParam));
event.m_wheelRotation = (short)HIWORD(wParam);
event.m_wheelDelta = WHEEL_DELTA;
int linesPer;
if (!SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &linesPer, 0))
linesPer = 1;
event.m_linesPerAction = linesPer;
#ifdef __WIN32__
static int s_linesPerRotation = -1;
if ( s_linesPerRotation == -1 )
{
if ( !::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0,
&s_linesPerRotation, 0))
{
// this is not supposed to happen
wxLogLastError(_T("SystemParametersInfo(GETWHEELSCROLLLINES)"));
// the default is 3, so use it if SystemParametersInfo() failed
s_linesPerRotation = 3;
}
}
#else // Win16
// no SystemParametersInfo() under Win16
static const int s_linesPerRotation = 3;
#endif
event.m_linesPerAction = s_linesPerRotation;
return GetEventHandler()->ProcessEvent(event);
#else
return FALSE;
#endif