Fixed mouse event generation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@24838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1349,10 +1349,10 @@ void wxWindowOS2::OnIdle(
|
|||||||
//
|
//
|
||||||
int nState = 0;
|
int nState = 0;
|
||||||
|
|
||||||
if (::WinGetKeyState(HWND_DESKTOP, VK_SHIFT) != 0)
|
if (IsShiftDown())
|
||||||
nState |= VK_SHIFT;
|
nState |= KC_SHIFT;
|
||||||
if (::WinGetKeyState(HWND_DESKTOP, VK_CTRL) != 0);
|
if (IsCtrlDown())
|
||||||
nState |= VK_CTRL;
|
nState |= KC_CTRL;
|
||||||
|
|
||||||
wxMouseEvent rEvent(wxEVT_LEAVE_WINDOW);
|
wxMouseEvent rEvent(wxEVT_LEAVE_WINDOW);
|
||||||
|
|
||||||
@@ -2816,7 +2816,7 @@ MRESULT wxWindowOS2::OS2WindowProc(
|
|||||||
bProcessed = HandleMouseEvent( uMsg
|
bProcessed = HandleMouseEvent( uMsg
|
||||||
,nX
|
,nX
|
||||||
,nY
|
,nY
|
||||||
,(WXUINT)SHORT1FROMMP(wParam)
|
,(WXUINT)SHORT2FROMMP(lParam)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -2833,7 +2833,7 @@ MRESULT wxWindowOS2::OS2WindowProc(
|
|||||||
bProcessed = pWin->HandleMouseEvent( uMsg
|
bProcessed = pWin->HandleMouseEvent( uMsg
|
||||||
,nX
|
,nX
|
||||||
,nY
|
,nY
|
||||||
,(WXUINT)SHORT1FROMMP(wParam)
|
,(WXUINT)SHORT2FROMMP(lParam)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4291,13 +4291,20 @@ void wxWindowOS2::InitMouseEvent(
|
|||||||
, WXUINT uFlags
|
, WXUINT uFlags
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
int nHeight;
|
||||||
|
DoGetSize(0, &nHeight);
|
||||||
rEvent.m_x = nX;
|
rEvent.m_x = nX;
|
||||||
rEvent.m_y = nY;
|
// Convert to wxWindows standard coordinate system!
|
||||||
rEvent.m_shiftDown = ((uFlags & VK_SHIFT) != 0);
|
rEvent.m_y = nHeight - nY;
|
||||||
rEvent.m_controlDown = ((uFlags & VK_CTRL) != 0);
|
rEvent.m_shiftDown = ((uFlags & KC_SHIFT) != 0);
|
||||||
rEvent.m_leftDown = ((uFlags & VK_BUTTON1) != 0);
|
rEvent.m_controlDown = ((uFlags & KC_CTRL) != 0);
|
||||||
rEvent.m_middleDown = ((uFlags & VK_BUTTON3) != 0);
|
rEvent.m_altDown = ((uFlags & KC_ALT) != 0);
|
||||||
rEvent.m_rightDown = ((uFlags & VK_BUTTON2) != 0);
|
rEvent.m_leftDown = (::WinGetKeyState(HWND_DESKTOP, VK_BUTTON1) &
|
||||||
|
0x8000) != 0;
|
||||||
|
rEvent.m_middleDown = (::WinGetKeyState(HWND_DESKTOP, VK_BUTTON3) &
|
||||||
|
0x8000) != 0;
|
||||||
|
rEvent.m_rightDown = (::WinGetKeyState(HWND_DESKTOP, VK_BUTTON2) &
|
||||||
|
0x8000) != 0;
|
||||||
rEvent.SetTimestamp(s_currentMsg.time);
|
rEvent.SetTimestamp(s_currentMsg.time);
|
||||||
rEvent.m_eventObject = this;
|
rEvent.m_eventObject = this;
|
||||||
rEvent.SetId(GetId());
|
rEvent.SetId(GetId());
|
||||||
|
Reference in New Issue
Block a user