MFC对话框程序中Shift+F9键的检测

最近项目中用到这样的功能,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值