对话框无法捕捉WM_CHAR,WM_KEYDOWN,WM_KEYUP的解決方法
来源:互联网 发布:游戏源码怎么看 编辑:程序博客网 时间:2024/04/29 09:00
原因:
一般程序初始化的时候焦点就会落到某个控件上或者说窗口,当KEYDOWN的时候是由当前活动的窗口处理的(每个控件也都是一个窗口),所以视图或者对话框就会没反应,最好在PreTranslateMessage里处理。
解決方法:
重載函數PreTranslateMessage
PreTranslateMessage进行处理,代码如下:
if ( pMsg-> message ==WM_CHAR )
{
char nChar = pMsg-> wParam;//可以得到鍵值,進行處理
//或者 SendMessage(WM_CHAR,pMsg->wParam,pMsg->lParam); //添加WM_CHAR響應函數
return TRUE;
}
else
{
return CDialog::PreTranslateMessage(pMsg);
}
//注意:像一些特殊鍵如ESC……不是WM_CHAR,需要響應 WM_KEYDOWN && 跟ASCII比較才能響應。
一般程序初始化的时候焦点就会落到某个控件上或者说窗口,当KEYDOWN的时候是由当前活动的窗口处理的(每个控件也都是一个窗口),所以视图或者对话框就会没反应,最好在PreTranslateMessage里处理。
解決方法:
重載函數PreTranslateMessage
PreTranslateMessage进行处理,代码如下:
if ( pMsg-> message ==WM_CHAR )
{
char nChar = pMsg-> wParam;//可以得到鍵值,進行處理
//或者 SendMessage(WM_CHAR,pMsg->wParam,pMsg->lParam); //添加WM_CHAR響應函數
return TRUE;
}
else
{
return CDialog::PreTranslateMessage(pMsg);
}
//注意:像一些特殊鍵如ESC……不是WM_CHAR,需要響應 WM_KEYDOWN && 跟ASCII比較才能響應。
//注意:如果半路將其響應給攔截了,需要將它的回調給屏蔽。。
原文地址:http://blog.163.com/chen_xinghuan/blog/static/17220158220113432737892/
- 对话框无法捕捉WM_CHAR,WM_KEYDOWN,WM_KEYUP的解決方法
- VC中对话框不能响应WM_CHAR WM_KEYUP WM_KEYDOWN消息的解决办法
- \t\tVC中对话框不能响应WM_CHAR WM_KEYUP WM_KEYDOWN消息的解决办法
- WM_KEYDOWN --> 调用TranslateMessage --> WM_CHAR --> WM_KEYUP 分析WM_CHAR
- 比较WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN、WM_SYSKEYUP与WM_CHAR
- 键盘消息WM_KEYDOWN/WM_KEYUP、WM_SYSKEYDOWN/WM_SYSKEYUP与字符消息WM_CHAR的区别
- WM_KEYDOWN和WM_KEYUP的使用
- WM_KEYDOWN和WM_KEYUP的使用
- 基于MFC对话框的键盘消息响应 WM_KEYDOWN WM_CHAR消息
- WM_CHAR与WM_KEYDOWN的区别
- CWnd派生类无法接受WM_CHAR和WM_KEYDOWN等消息
- WM_CHAR,WM_KEYDOWN,WM_SYSKEYDOWN
- WM_CHAR,WM_KEYDOWN和WM_SYSKEYDOWN
- WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
- WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
- WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
- WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
- WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
- gtest
- 85 wpf sl操作.TXT文件
- 网上SQL问题连载6
- 网上SQL问题连载7
- Android提高第十五篇之ListView自适应实现表格
- 对话框无法捕捉WM_CHAR,WM_KEYDOWN,WM_KEYUP的解決方法
- PHP学习(1) ---apache的一些知识
- 网上SQL问题连载8
- 过滤与投影的差别
- asp.net下xml文件的创建
- Windows系统中取代AT 的schtasks命令
- 图论
- Android重力感应Demo
- DTD 与 Schema的简单区别