键盘按键消息的获取

(一)响应单独的按键:
先添加PreTranslateMessage()(响应WM_CHAR)也是同样的效果,因为本例只捕捉键盘)
BOOL CMydilog::PreTranslateMessage(MSG* pMsg) 
{
if (pMsg->message == WM_KEYDOWN)
{
         if(pMsg->wParam=='M')//直接用上面的虚码代替就可以响应所指键
MessageBox("hello");//如果按下M键弹出消息.
     }
return CDialog::PreTranslateMessage(pMsg);
}
(二)组合键的用法:(本例响应Ctrl+X键)
BOOL CMydilog::PreTranslateMessage(MSG* pMsg) 
{
if (pMsg->message == WM_KEYDOWN)
{
switch (pMsg->wParam)

case VK_ESCAPE:
SetFocus ();
return TRUE;
case 'X':
if(::GetKeyState(VK_CONTROL) < 0)
MessageBox("hello");
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
posted @ 2013-06-05 04:14  jadeshu  阅读(295)  评论(0编辑  收藏  举报