标签:
在一个对话框程序当中,当对话框上没有任何一个控件,可以截获到keyDown消息;
但是当对话框上加入任何一个控件之后,就不会像刚才那样截获到消息:
如果要截获键盘消息:
可以重载函数PreTranslateMessage(MSG* pMsg)
if(pMsg->message == WM_KEYDOWN)
{
MessageBox("Hello","测试",MB_OK);
}
总结:
1:在MFC的对话框中,映射了WM_CHAR 和WM_KEYDOWN 消息后,但是对话框不能响应OnKeyDown和OnChar函数
2:因为MFC在进行设计的时候,这两个消息被对话框上的控件截获了,不能到达这两个消息响应函数,对于OnKeyDown来说,
只要把对话框上的控件都删除了,就可以接收到WM_KEYDOWN消息,但是还是接收不到WM_CHAR消息
3:重载PreTranslateMessage这个函数可以实现
标签:
原文地址:http://blog.csdn.net/djb100316878/article/details/42082645