在Labwindows/CVI中这个语句vk=eventData1&VAL_VKEY_MASK;表示什么意思

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 23:50:03

在Labwindows/CVI中这个语句vk=eventData1&VAL_VKEY_MASK;表示什么意思
在Labwindows/CVI中这个语句vk=eventData1&VAL_VKEY_MASK;表示什么意思

在Labwindows/CVI中这个语句vk=eventData1&VAL_VKEY_MASK;表示什么意思
对于键盘事件:EVENT_KEYPRESS,回调函数的事件数据eventData1记录的是:所按按键的“键盘代码”
键盘代码是由ASCII码键、修饰键、虚拟键共同组成,其表示为:0X00MMVVAA
MM代表修饰键常量,VV代表虚拟键常量,AA代表ASCII码常量.
键盘代码:由按下的键的常量进行“按位或”运算得出的值
例如:同时按下Esc+A,(现实中可能没有这种按法)
其键盘代码=Esc键(虚拟键)常量或‘A’的ASCII码,
即:0X00000300 ||0X00000041 =0X00000341=eventData1
VAL_VKEY_MASK=0X0000FF00 (这是个常量,CVI里宏定义的)
eventData1 & VAL_VKEY_MASK =0X00000341 & 0X0000FF00 = 0X00000300 = Esc键
所以eventData1 & VAL_VKEY_MASK就是从“键盘代码”中还原出其中包含的虚拟键的键码,从而判断按了哪一个虚拟键.