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); }