绝大数消息响应都要通过函数CMYDlg::PreTranslateMessage(MSG* pMsg)然后在传递到函数CMYDlg::TranslateMessage(MSG* pMsg),所以我们可以通过重载CMYDlg::PreTranslateMessage(MSG* pMsg)进行相应的处理
实现代码如下:
BOOL CYourDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_RETURN) //判断Enter键是否被按下
return TRUE; //在这里添加 应的处理的代码
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_ESCAPE) //判断ESC键是否被按下
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
本文介绍了一种在对话框中通过重载CMYDlg::PreTranslateMessage函数来拦截并处理Enter与ESC按键的方法。该方法可以有效响应特定按键事件。
2024

被折叠的 条评论
为什么被折叠?



