首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

为什么小弟我的对话框程序中OnKeyDown没有反应

2012-02-10 
为什么我的对话框程序中OnKeyDown没有反应?我只是用Wizard建了一个简单的MFC对话框,不添加任何功能,只是作

为什么我的对话框程序中OnKeyDown没有反应?
我只是用Wizard建了一个简单的MFC对话框,不添加任何功能,只是作为测试程序。
我添加了OnKeyDown(UINT   nChar,   UINT   nRepCnt,   UINT   nFlags)   这个消息处理函数。
void   CMy11Dlg::OnKeyDown(UINT   nChar,   UINT   nRepCnt,   UINT   nFlags)  
{
//   TODO:   Add   your   message   handler   code   here   and/or   call   default

                  MessageBox( "ok ");

CDialog::OnKeyDown(nChar,   nRepCnt,   nFlags);
}
我觉得当我在程序中按下任意键应该会执行MessageBox,但是却没有。不知是什么原因?

[解决办法]
重载
BOOL CXXXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if( pMsg-> message> =WM_KEYDOWN && pMsg-> message <=WM_KEYUP)
{
this-> SendMessage(pMsg-> message,pMsg-> wParam,pMsg-> lParam);
return TRUE;
}
else
return CDialog::PreTranslateMessage(pMsg);
}

热点排行