因为在对话框中的默认输入焦点是其中的一个控件,所以OnKeyDown()不会被响应,而有输入焦点的控件的OnKeyDown()方法是应该会被响应的。
解决方法如下:重载CDialog::PreTranslateMessage()方法,在其中进行消息响应处理。具体细节请见MSDN。