关于MFC中OnKeyDown的问题
在MFC中,如果选择窗口类型是dialogbased时,添加一个OnKeyDown,在函数中添加一句MessageBox("123");结果运行时,没有对话框弹出,而选择...
在MFC中,如果选择窗口类型是dialog based时,添加一个OnKeyDown,在函数中添加一句MessageBox("123");结果运行时,没有对话框弹出,而选择窗口类型是单文档时,添加一个OnKeyDown,在函数中添加一句MessageBox("123");结果运行时,有对话框弹出,为什么dialog based中keydown事件无效呢?应该怎样做才能接收按键消息呢?
展开
1个回答
展开全部
没有得到消息的原因是焦点在对话框的其他子窗体上.
//解决办法
BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
MessageBox("Key down"); // 在这里处理
}
return CDialog::PreTranslateMessage(pMsg);
}
//解决办法
BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
MessageBox("Key down"); // 在这里处理
}
return CDialog::PreTranslateMessage(pMsg);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询