在WM_CHAR消息中 wParam的值是怎么得来的。?
我在看书的时候学到这里在WM_CHAR消息中他去判断一个系统组合键if(wParam==(65&VK_CONTROL))//他这个wParam里的值是怎么算出来才会==这...
我在看书的时候 学到这里
在WM_CHAR消息中 他去判断一个系统组合键
if(wParam==(65&VK_CONTROL))// 他这个wParam里的值是怎么算出来才会==这个65&VK_CONTROL值?? 主要是怎么算出来 这个过程是什么?
{......} 展开
在WM_CHAR消息中 他去判断一个系统组合键
if(wParam==(65&VK_CONTROL))// 他这个wParam里的值是怎么算出来才会==这个65&VK_CONTROL值?? 主要是怎么算出来 这个过程是什么?
{......} 展开
1个回答
展开全部
计算过程。。。很简单,首先你要知道VK_CONTROL的值
#define VK_CONTROL 0x11
VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A)
这个语句是判断是否为Ctrl+A (A的键值65)
wParam==(0x41&VK_CONTROL)== 0x01
其实这是WM_CHAR本身的问题,用它来接收组合键是不合理的,因为得到的结果Ctrl+A和数字1是一样的。
一般建议用WM_SYSKEYDOWN来判断组合键。
#define VK_CONTROL 0x11
VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A)
这个语句是判断是否为Ctrl+A (A的键值65)
wParam==(0x41&VK_CONTROL)== 0x01
其实这是WM_CHAR本身的问题,用它来接收组合键是不合理的,因为得到的结果Ctrl+A和数字1是一样的。
一般建议用WM_SYSKEYDOWN来判断组合键。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询