VC++ 中的WM_CHAR和WM_KEYDOWM的区别
VC++VC++VC++VC++ 中的中的中的中的 WM_CHARWM_CHARWM_CHARWM_CHAR和和和和 WM_KEYDOWMWM_KEYDOWMWM_KEYDOWMWM_KEYDOWM的区别的区别的区别的区别
首先更正一下上面的同志说的话 ASCII码不是仅包含字符,还包含很多控制符
键盘上大部分的按键都是于 ASCII相对应的,包括空格 回车和楼上所说的 ESC等
(ESC按键对应 ASCII 十进制为27)
/*********************************************...
VC++VC++VC++VC++ 中的中的中的中的 WM_CHARWM_CHARWM_CHARWM_CHAR和和和和 WM_KEYDOWMWM_KEYDOWMWM_KEYDOWMWM_KEYDOWM的区别的区别的区别的区别
首先更正一下上面的同志说的话 ASCII码不是仅包含字符,还包含很多控制符
键盘上大部分的按键都是于 ASCII相对应的,包括空格 回车和楼上所说的 ESC等
(ESC按键对应 ASCII 十进制为27)
/******************************************************************//
WM_CHAR消息只响应字符按键和部分控制符
(有很多控制字符不响应 不响应的键如下:
Tab键///Caps Lock大小写切换键//ESC键///F1~F12///SHIFT///CTRL///ALT///方向键///方向
键上方键盘区///Num Lock键)
WM_KEYDOWN响兴所有按键消息(Alt键///Print Screen SysRq截屏键不响兴)
//**********哪些按键响兴哪些不响兴是经过测试的 ************//
WM_CHAR区分大小写和 SHIFT+数字,而WM_KEYDOWN只返回大写字母没有 SHIFT作
用
例如:
//// 按下 F键 不管处于大写或小写状态 WM_KEYDOWN都返回70 (ASCII对应大写 F) 而
WM_CHAR区分大小写
//// SHITF+1 WM_CHAR 中的 wParam 是33 (ASCII 对应 !) WM_KEYDOWN 中的是49
(ASCII对应1)
MSDN文档原文内容:
WM_CHAR
The WM_CHAR message is posted to the window with the keyboard focus when a
WM_KEYDOWN message is translated by the TranslateMessage function. The
WM_CHAR message contains the character code of the key that was pressed.
原文意思主要是说
WM_CHAR是键盘所按下的那个字符的响应 可以用来判断是哪个字符的响应(如按下 A实
现什么功能 按下 B 实现什么功能)而
WM_KEYDOWN是键盘按下后的消息响应(只要按下键盘都响应)
本文档为【VC++ 中的WM_CHAR和WM_KEYDOWM的区别】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。