⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled-34.txt

📁 mfc 教程
💻 TXT
字号:
    如果希望自己的应用程序不管自动重复输人产生的击键事件,您只要让它忽略带有先前键
状态值等于互的WM.KEYDOWN消息就可以了。对于WM.gyM].-一和WM.SYSIUCYIJ.-一消息,过
渡状态值为几而对于WM-gyYDOWN和WM_SYSkli:YDOWN消息值为l。最后,上下文代码说明
在消息产生时  Aft键是否被按下了。在例外情况下(通常不重要),对于  WM- KEYDOWN和  WM.
gyYUP消息代码为1,而对于WM- SYSIOZYDOW‘~和WM.SYSKEYUP消息值为几
    总的来说,应用程序并不处理 WM_SYSKEYDOWN和 WM_SYSMYUP消息,而是让
用nd规处理它们。如果这些消息最终不能到达::仇月Vhd。wPro。,像周~卫山和A卜Lc这样的
系统键盘命令将停止工作。尽管许多消息在操作系统中处于很重要的地位,但Wndows还是
首先把通过应用程序处理这些消息的强大能力交给了您。对于非客户区鼠标消息,如果系统
击键消息处理不当,特别是没有把这些消息传递给操作系统,就会导致各种各样奇怪的现象。
3.2.3虚拟键代码
    目前传递给击键消息处理程序的最重要的值应该是"Char,它标识了被按下或释放的
键。Wind。ws用下页表中给出的虚拟键代码来标识键,这样应用程序就不必依赖硬编码值
或随键盘不同而不同的OEM扫描码了。
    显然表中缺少了字母A到Z和a到z以及数字0到9的虚拟键代码。这些键的虚拟键
代码与它们相应ANSI码一样: Ox41到OXSA对应A到Z,OX61到OX7A对应X到Z,以及OX30
到0X39对应0 fg 9。
    如果看一下Winuser.h,其中定义了虚拟键代码,您会发现一些键代码没有在表3-9中列
出,包括VK_SELECT,VK_EXECUTE以及从VK_F13到VXITh4。这些代码用于其他平台
操作系统,用常规IBM键盘无法生成。Windows没有给非字符和非数字键提供虚拟键代码,
例如:分号(;)和方括号(「」)键,在处理键按下和键抬起消息时最好避免接触它们,因为在
国际上它们的ID值可能随键盘的不同而不同。这并不是意味着您的程序不能处理标点符
号或其他没有VK一标识符的字符,只是说有比依赖键按下和键抬起消息更好的方法来处理
它们。这种“更好的方法”就是通过WM.CHAR消息,我们过一会儿将讨论它。
                                        表3.9虚拟健代码
  虚拟键代码相应的健
  VK-FI-VK-F12功能键FI-F12
  VK-NUMPAIX)-VK-NUMPADg数字键0-9 Num Inch开状态
  VK-CANCEL Ctrl.Break
  VXIRETURN Enter
  VK-BACK Backspace
  VK- TAB Tab

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -