设为首页 加入收藏

TOP

4.2.2 WM_KEYDOWN和WM_CHAR
2013-10-06 23:57:00 来源: 作者: 【 】 浏览:66
Tags:4.2.2 WM_KEYDOWN WM_CHAR
4.2.2  WM_KEYDOWN和WM_CHAR
事件WM_KEYDOWN和WM_CHAR都是键盘消息,如果要对这两个有消息有所响应的话,就需要实行以下代码: 
while(GetMessage(&Msg,NULL,0,0)) 
{
TranslateMessage(&Msg); //翻译消息
DispatchMessage(&Msg); //将消息传递给窗口处理函数
}
return Msg.wParam;

TranslateMessage函数已经将按键消息转换成字符消息了,那么WndProc函数中需要对事件进行选择。如:键入“D”键,就应该选择WM_CHAR,因为WM_CHAR 只是字母,不包含特殊字符如Ctrl等。
如果键盘键入的是“Ctrl+D”,则应该选择WM_KEYDOWN,因为WM_KEYDOWN既包含字母也包含特殊字符。
WM_CHAR是由WM_KEYDOWN消息Translate()之后产生的,然后再发送给窗口过程。例如按下“D”键,产生WM_KEYDOWN消息,此消息经过Translate()处理后变成了WM_KEYDOW、WM_CHAR两个消息传递给窗口过程。
【责任编辑:杨硕 TEL:(010)68476636-8001】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.3 配置Visual C++工程 下一篇4.3.3 Dialog结构(基于对话框的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: