VC6如何让Dialog响应WM_CHAR消息
解决的方式是重载函数PreTranslateMessage,进行处理,将焦点设置到主窗口上。
具体代码如下:
BOOL CMfcDlgMainDlg::PreTranslateMessage(MSG* pMsg)
{
if ( WM_KEYDOWN == pMsg->message || WM_CHAR == pMsg->message )
{
pMsg->hwnd = m_hWnd;
return FALSE;
}
return CDialog::PreTranslateMessage(pMsg);
}