功能表及其他资源(五十七)

2010-12-30 21:13:27 · 作者: · 浏览: 36414
应该尽力使应用程式之间协调一致,并且尽量避免干扰Windows的键盘使用。在加速键中,应该避免使用Tab、Enter、Esc和Spacebar键,因为这些键常常用於完成系统功能。

加速键最经常的用途是操作程式的「Edit」功能表中的各项。为这些功能表项推荐的加速键在Windows 3.0和Windows 3.1之间已有不同,因此通常都要支援如下所列的新旧两套加速键:

表10-2
功能旧加速键新加速键
Undo Alt+Backspace Ctrl+Z Cut Shift+Del Ctrl+X Copy Ctrl+Ins Ctrl+C Paste Shift+Ins Ctrl+V Delete或Clear Del Del

另一种常用的虚拟键是启动辅助资讯的功能键F1。应该避免使用F4、F5和F6键,因为这些键常用在多重文件介面(MDI)程式中来完成特殊的功能(将在第十九章中讨论)。

加速键表
 

您可以在Developer Studio中定义加速键表。为了让程式中载入加速键表更为容易,给它和程式名相同的名称(与功能表和图示名也相同)。

每个加速键都有在 Accel Properties 对话方块中定义的ID和按键组合。如果您已经定义了功能表,则功能表ID会出现在下拉式清单方块中,因此不需要键入它们。

加速键可以是虚拟键或ASCII字元与Shift、Ctrl或Alt键的组合。可以通过在字母前键入『^』来指定带有Ctrl键的ASCII字元。也可以从下拉式清单方块中选取虚拟键。

当您为功能表项定义加速键时,应该将键的组合包含到功能表项的文字中。跳位字元(\t)将文字与加速键分割开,将加速键列在第二列。为了在功能表中为加速键做上标记,可以在文字「Ctrl」、「Shift」或「Alt」之後跟上一个「+」号和一个键名(例如,「Shift+F6」或「Ctrl+F6」)。

加速键表的载入
 

在您的程式中,您使用LoadAccelerators函式把加速键表载入记忆体,并获得该表的代号。 LoadAccelerators叙述非常类似於LoadIcon、LoadCursor和LoadMenu叙述。

首先,把加速键表的代号定义为型态HANDLE: