第七章 键盘-1

时间:2007-10-22 08:54:59   来源:chinaitzhe.com  作者:ChinaITzhe  编辑:gaopoadmin

7. 键盘

在Microsoft Windows 98中,键盘和滑鼠是两个标准的使用者输入来源,在一些连贯操作中常产生互补作用。当然,滑鼠在今天的应用程式中比十年前使用得更为广泛。甚至在一些应用程式中,我们更习惯於使用滑鼠,例如在游戏、画图程式、音乐程式以及Web浏览器等程式中就是这样。然而,我们可以不使用滑鼠,但绝对不能从一般的PC中把键盘拆掉。
相对於个人电脑的其他元件,键盘有非常久远的历史,它起源於1874年的第一台Remington打字机。早期的电脑程式员用键盘在Hollerith卡片上打孔,後来在终端机上用键盘直接与大型主机沟通。PC上的键盘在某些方面进行了扩充,加上了功能键、游标移动键和单独的数字键盘,但它们的输入原理基本相同。

键盘基础
 

您大概已经猜到Windows程式是如何获得键盘输入的:键盘输入以讯息的形式传递给程式的视窗讯息处理程式。实际上,第一次学习讯息时,键盘事件就是一个讯息如何将不同型态资讯传递给应用程式的显例。

Windows用八种不同的讯息来传递不同的键盘事件。这好像太多了,但是(就像我们所看到的一样)程式可以忽略其中至少一半的讯息而不会有任何问题。并且,在大多数情况下,这些讯息中包含的键盘资讯会多於程式所需要的。处理键盘的部分工作就是识别出哪些讯息是重要的,哪些是不重要的。

忽略键盘
 

虽然键盘是Windows程式中使用者输入的主要来源,但是程式不必对它接收的所有讯息都作出回应。Windows本身也能处理许多键盘功能。

例如,您可以忽略那些属於系统功能的按键,它们通常用到Alt键。程式不必监视这些按键,因为Windows会将按键的作用通知程式(当然,如果程式想这么做,它也能监视这些按键)。虽然呼叫程式功能表的按键将通过视窗的视窗讯息处理程式,但通常内定的处理方式是将按键传递给DefWindowProc。最终,视窗讯息处理程式将获得一个讯息,表示一个功能表项被选择了。通常,这是所有视窗讯息处理程式需要知道的(在第十章将介绍功能表)。

有些Windows程式使用「键盘加速键」来启动通用功能表项。加速键通常是功能键或字母同Ctrl键的组合(例如,Ctrl-S用於保存档案)。这些键盘加速键与程式功能表一起在程式的资源描述档案中定义(我们可以在第十章看到)。Windows将这些键盘加速键转换为功能表命令讯息,您不必自己去进行转换。

对话方块也有键盘介面,但是当对话方块处於活动状态时,应用程式通常不必监视键盘。键盘介面由Windows处理,Windows把关於按键作用的讯息发送给程式。对话方块可以包含用於输入文字的编辑控制项。它们一般是小方框,使用者可以在框中键入字串。Windows处理所有编辑控制项逻辑,并在输入完毕後,将编辑控制项的最终内容传送给程式。关於对话方块的详细资讯,请参见第十一章。

编辑控制项不必局限於单独一行,而且也不限於只在对话方块中。一个在程式主视窗内的多行编辑控制项就能够作为一个简单的文字编辑器了(参见第九、十、十一和十三章的POPPAD程式)。Windows甚至有一个Rich Text文字编辑控制项,允许您编辑和显示格式化的文字(请参见/Platform SDK/User Interface Services/Controls/Rich Edit Controls)。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 下一页
关键字:Windows,程式,开发,入门,第七章, 键盘

相关文章

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面