有同学要我帮他实现按Ctrl和Ener组合键用法。查了一下有两种。其实也一样的。 VC中实现。 BOOL CMy2132Dlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class/* if(pMsg->message == WM_KEYDOWN) { if(VK_SHIFT == pMsg->wParam) { if(GetAsyncKeyState(VK_CONTROL) >> 15 & 0x1) DealData(); return TRUE; } if(VK_ESCAPE == pMsg->wParam || VK_RETURN == pMsg->wParam) { return TRUE; } }*/ if(pMsg->message==WM_KEYDOWN) { //如果按键是:Ctrl+Ener则发送消息 if(pMsg->wParam==VK_RETURN && GetKeyState(VK_CONTROL) & 0x80) { DealData(); return true; } } if(pMsg->wParam == VK_RETURN || VK_ESCAPE == pMsg->wParam) { return TRUE; } return CDialog::PreTranslateMessage(pMsg);}

评论