Function Key 13〜24
Shift + FKey1〜12 を FKey13〜24に変換
BOOL CWndEx::PreTranslateMessage(MSG* pMsg)
{
switch (pMsg->message)
{
case WM_SYSKEYDOWN: // VK_F10/VK_F22用
case WM_KEYDOWN:
{
SHORT nID = ::GetAsyncKeyState(VK_SHIFT);
WPARAM nKey = pMsg->wParam;
// Shift + VK_1〜VK12 → VK_F13〜VK_F24 に変換
if ((nID)&&(VK_F1 <= nKey)&&(nKey <= VK_F12))
{
nKey = nKey + 12;
}
TRACE("VK_F%d, %d, %d,%d\r\n", pMsg->wParam - VK_F1 +1, nID, pMsg->wParam, pMsg->lParam );
switch(nKey)
{
case VK_F4:
return TRUE;
case VK_F10:
return TRUE;
case VK_F11:
break;
case VK_F16: // Shift + VK_F4 / VK_F16
break;
case VK_F22:
return TRUE;
}
}
break;
}
return CWnd::PreTranslateMessage(pMsg);
}