键盘(键盘基础,按键消息)在MicrosoftWindows98中,键盘和鼠标是两个标准的使用者输入来源,在一些连贯操作中常产生互补作用
当然,鼠标在今天的应用程序中比十年前使用得更为广泛
甚至在一些应用程序中,我们更习惯于使用鼠标,例如在游戏、画图程序、音乐程序以及Web浏览器等程序中就是这样
然而,我们可以不使用鼠标,但绝对不能从一般的PC中把键盘拆掉
相对于个人计算机的其它组件,键盘有非常久远的历史,它起源于1874年的第一台Remington打字机
早期的计算机程序员用键盘在Hollerith卡片上打孔,后来在终端机上用键盘直接与大型主机沟通
PC上的键盘在某些方面进行了扩充,加上了功能键、光标移动键和单独的数字键盘,但它们的输入原理基本相同
键盘基础您大概已经猜到Windows程序是如何获得键盘输入的:键盘输入以消息的形式传递给程序的窗口消息处理程序
实际上,第一次学习消息时,键盘事件就是一个消息如何将不同型态信息传递给应用程序的显例
Windows用八种不同的消息来传递不同的键盘事件
这好像太多了,但是(就像我们所看到的一样)程序可以忽略其中至少一半的消息而不会有任何问题
并且,在大多数情况下,这些消息中包含的键盘信息会多于程序所需要的
处理键盘的部分工作就是识别出哪些消息是重要的,哪些是不重要的
忽略键盘虽然键盘是Windows程序中使用者输入的主要来源,但是程序不必对它接收的所有消息都作出响应Windows本身也能处理许多键盘功能
例如,您可以忽略那些属于系统功能的按键,它们通常用到Alt键
程序不必监视这些按键,因为Windows会将按键的作用通知程序(当然,如果程序想这么做,它也能监视这些按键)
虽然呼叫程序菜单的按键将通过窗口的窗口消息处理程序,但通常内定的处理方式是将按键传递给DefWindowProc
最终,窗口消息处理程序将获得一个消息,表示一个