对话框为什么接受不到WM_KEYDOWN消息 我建了一个对话框,上有一个按钮,可是对话框接受不到WM_KEYDOWN消息。移去按钮就行了,如何解决?为什么上下左右键按下没有WM_KEYDOWN消息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有按钮,输入焦点就在按钮上面了. 用SetFocus转移输入焦点...因为上下左右被要来dialog用来改变当前控件去了,譬如dialog上面有2个按钮,用方向健可以换当前按钮。解决方法,OnPreTranslateMessage 里面拦截WM_KEYDOWN消息,判断是否是方向健。 好像只要有控件,就不能得到WM_KEYDOWN,确定和取消也不例外。不过你可以用BOOL CVKeyDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (pMsg->message == WM_KEYDOWN) { m_vKey = pMsg->wParam ; UpdateData(FALSE); } return CDialog::PreTranslateMessage(pMsg);}拦截WM_KEYDOWN事件。 被父窗口截住了,没有转发。要转发消息,需要自己处理。 zhouyong0371(小周周) 的做法就能实现转发了。 PreTranslateMessage 里面拦截WM_KEYDOWN消息 zhouyong0371(小周周) 今天很活跃呀 zhouyong0371(小周周) 最近几天很活跃呀 关于系统托盘问题 map 类型问题 如何更改另一窗口中的 Edit 控件中的内容? CString.Format怎样控制位数? 高分求一图片序列化问题 简单的问题,这个报错信息是什么意思??? COM中方法的数组参数问题? 非DSHOW 问题 为什么我写的AVI 全是KEY FRAME文件,播放的时候一拖拽,就要停好长时间不能播放! 希望大家帮助,我很困扰的问题,我现在的想法?请指正! 远程控制的东西,刚开始,请有经验的朋友提供一点东西。 如何在SQL查询中实现参数化查询?救命!!!!!! 找了很久也没找到一个国内的开发数据库的网站
BOOL CVKeyDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_KEYDOWN)
{
m_vKey = pMsg->wParam ;
UpdateData(FALSE);
}
return CDialog::PreTranslateMessage(pMsg);
}
拦截WM_KEYDOWN事件。
zhouyong0371(小周周) 的做法就能实现转发了。