最近项目中用到这样的功能,F9的ASCII码是0x78
BOOL CKeyTestDlg::PreTranslateMessage(MSG* pMsg)
{// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_KEYDOWN) // If a keydown message
{
if (pMsg->wParam == 0x78 ) // If 'F9' pressed
{
if (GetAsyncKeyState(VK_LSHIFT))
MessageBox((LPCTSTR)L"F9 pressed", (LPCTSTR)L"In PreTranslate", MB_OK);
}
//MessageBox((LPCTSTR)L"Key Down In PreTanslate", (LPCTSTR)L"Message", MB_OK);
}
return CDialog::PreTranslateMessage(pMsg);
}
参考文献:
[1] 在基于对话框的MFC工程中如何捕捉OnKeyDown消息 http://lxdawn.blog.163.com/blog/static/173620990201552602524231/
[2] 在VC/MFC中响应键盘按键 http://lxdawn.blog.163.com/blog/static/173620990201552601039207/
[3]各鍵對應的ASCII值.保存下,隨時用的上 http://blog.csdn.net/chengs_/article/details/6604680