Applied patch [ 740012 ] GetKeyState returns 16-Bit value on WindowsNT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -286,12 +286,18 @@ HCURSOR wxBitmapToHCURSOR(const wxBitmap& bmp, int hotSpotX, int hotSpotY);
|
|||||||
// get the current state of SHIFT/CTRL keys
|
// get the current state of SHIFT/CTRL keys
|
||||||
inline bool wxIsShiftDown()
|
inline bool wxIsShiftDown()
|
||||||
{
|
{
|
||||||
return (::GetKeyState(VK_SHIFT) & 0x100) != 0;
|
// return (::GetKeyState(VK_SHIFT) & 0x100) != 0;
|
||||||
|
// Returns different negative values on WinME and WinNT,
|
||||||
|
// so simply test for negative value.
|
||||||
|
return ::GetKeyState(VK_SHIFT) < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool wxIsCtrlDown()
|
inline bool wxIsCtrlDown()
|
||||||
{
|
{
|
||||||
return (::GetKeyState(VK_CONTROL) & 0x100) != 0;
|
// return (::GetKeyState(VK_CONTROL) & 0x100) != 0;
|
||||||
|
// Returns different negative values on WinME and WinNT,
|
||||||
|
// so simply test for negative value.
|
||||||
|
return ::GetKeyState(VK_CONTROL) < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// wrapper around GetWindowRect() and GetClientRect() APIs doing error checking
|
// wrapper around GetWindowRect() and GetClientRect() APIs doing error checking
|
||||||
|
@@ -2398,7 +2398,10 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
|||||||
// similar to the ones from a "real" WM_KEYDOWN so that
|
// similar to the ones from a "real" WM_KEYDOWN so that
|
||||||
// CreateKeyEvent() works correctly
|
// CreateKeyEvent() works correctly
|
||||||
WXLPARAM lParam =
|
WXLPARAM lParam =
|
||||||
(::GetKeyState(VK_MENU) & 0x100 ? KF_ALTDOWN : 0) << 16;
|
// (::GetKeyState(VK_MENU) & 0x100 ? KF_ALTDOWN : 0) << 16;
|
||||||
|
// Returns different negative values on WinME and WinNT,
|
||||||
|
// so simply test for negative value.
|
||||||
|
(::GetKeyState(VK_MENU) < 0 ? KF_ALTDOWN : 0) << 16;
|
||||||
|
|
||||||
WXWPARAM wParam = info->wVKey;
|
WXWPARAM wParam = info->wVKey;
|
||||||
|
|
||||||
|
@@ -3965,7 +3965,10 @@ void wxWindowMSW::InitMouseEvent(wxMouseEvent& event,
|
|||||||
event.m_leftDown = (flags & MK_LBUTTON) != 0;
|
event.m_leftDown = (flags & MK_LBUTTON) != 0;
|
||||||
event.m_middleDown = (flags & MK_MBUTTON) != 0;
|
event.m_middleDown = (flags & MK_MBUTTON) != 0;
|
||||||
event.m_rightDown = (flags & MK_RBUTTON) != 0;
|
event.m_rightDown = (flags & MK_RBUTTON) != 0;
|
||||||
event.m_altDown = (::GetKeyState(VK_MENU) & 0x80000000) != 0;
|
// event.m_altDown = (::GetKeyState(VK_MENU) & 0x80000000) != 0;
|
||||||
|
// Returns different negative values on WinME and WinNT,
|
||||||
|
// so simply test for negative value.
|
||||||
|
event.m_altDown = ::GetKeyState(VK_MENU) < 0;
|
||||||
|
|
||||||
event.SetTimestamp(s_currentMsg.time);
|
event.SetTimestamp(s_currentMsg.time);
|
||||||
event.m_eventObject = this;
|
event.m_eventObject = this;
|
||||||
|
Reference in New Issue
Block a user