VK_APPS handling

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 1999-02-27 14:40:06 +00:00
parent d3f0a137d2
commit 839b865d08

View File

@ -1229,7 +1229,6 @@ long wxWindow::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
}
case WM_KEYDOWN:
{
// If this has been processed by an event handler,
// return 0 now (we've handled it).
if (MSWOnKeyDown((WORD) wParam, lParam))
@ -1255,24 +1254,41 @@ long wxWindow::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
case VK_RIGHT:
case VK_DOWN:
case VK_UP:
{
return Default();
break;
#ifdef VK_APPS
// special case of VK_APPS: treat it the same as right mouse click
// because both usually pop up a context menu
case VK_APPS:
{
// construct the key mask
WPARAM fwKeys = MK_RBUTTON;
if ( (::GetKeyState(VK_CONTROL) & 0x100) != 0 )
fwKeys |= MK_CONTROL;
if ( (::GetKeyState(VK_SHIFT) & 0x100) != 0 )
fwKeys |= MK_SHIFT;
// simulate right mouse button click
DWORD dwPos = ::GetMessagePos();
int x = GET_X_LPARAM(dwPos),
y = GET_Y_LPARAM(dwPos);
ScreenToClient(&x, &y);
MSWOnRButtonDown(x, y, fwKeys);
}
break;
#endif // VK_APPS
default:
if (!MSWOnChar((WORD)wParam, lParam))
{
return Default();
}
/*
if ( ::GetKeyState(VK_CONTROL) & 0x100 )
return Default();
*/
break;
}
break;
}
case WM_KEYUP:
{
if (!MSWOnKeyUp((WORD) wParam, lParam))