创建加速器表资源

【勇芳软件工作室】汉化HomePreviousNext

您可以通过在应用程序的资源定义文件中使用ACCELERATORS语句来创建一个加速器表资源。您必须为加速器表分配名称或资源标识符,最好与任何其他资源不同。Windows使用此标识符在运行时加载资源。

您定义的每个加速器需要在加速表中单独输入。在每个条目中,您定义生成加速器和加速器标识符的击键(ASCII字符代码或虚拟键代码)。您还必须指定是否必须与ALT,SHIFT或CTRL键结合使用键盘。有关虚拟键的详细信息,请参阅键盘输入.

通过将ASCII字符包含在双引号中或通过使用与ASCII标志相结合的字符的整数值来指定ASCII键。以下示例显示如何定义ASCII加速器。

"A", ID_ACCEL1 ; SHIFT+A

65, ID_ACCEL2, ASCII ; SHIFT+A

虚拟键代码按键的指定取决于键盘是字母数字键还是非字母数字键。对于字母数字键,用双引号括起来的键的字母或数字与VIRTKEY标志组合。对于非字母数字键,特定键的Windows虚拟键代码与VIRTKEY标志相结合。以下示例说明如何定义虚拟键代码加速器。

"a", ID_ACCEL3, VIRTKEY ; A (caps-lock on) or a

VK_INSERT, ID_ACCEL4, VIRTKEY ; INSERT key

以下示例显示了加速器表资源,用于定义文件操作的加速器。资源的名称是FileAccel。

FileAccel加速器

BEGIN

VK_F12, IDM_OPEN, CONTROL, VIRTKEY ; CTRL+F12

VK_F4, IDM_CLOSE, ALT, VIRTKEY ; ALT+F4

VK_F12, IDM_SAVE, SHIFT, VIRTKEY ; SHIFT+F12

VK_F12, IDM_SAVEAS, VIRTKEY ; F12

END

如果要使用户按加速键敲击ALT,SHIFT或CTRL键,请在加速器定义中指定ALT,SHIFT和CONTROL标志。以下是一些例子。

"B", ID_ACCEL5, ALT ; ALT_SHIFT+B

"I", ID_ACCEL6, CONTROL, VIRTKEY ; CTRL+I

VK_F5, ID_ACCEL7, CONTROL, ALT, VIRTKEY ; CTRL+ALT+F5

默认情况下,当加速键对应于菜单项时,Windows将突出显示菜单项。您可以使用NOINVERT标志来防止单个加速器突出显示。以下示例显示如何使用NOINVERT标志。

VK_DELETE, ID_ACCEL8, VIRTKEY, SHIFT, NOINVERT ; SHIFT+DELETE

要定义与应用程序中的菜单项相对应的加速器,请将加速器包含在菜单项的文本中。以下示例显示如何在资源定义文件中的菜单项文本中包含加速器。

FilePopup菜单

BEGIN

POPUP“&文件”

BEGIN

MENUITEM“&新..”,IDM_NEW

MENUITEM“&打开\\ tCtrl + F12”,IDM_OPEN

MENUITEM“&关闭\\ tAlt + F4”IDM_CLOSE

MENUITEM“&保存\\ tShift + F12”,IDM_SAVE

MENUITEM“将&另存为...\\ tF12”,IDM_SAVEAS

END

END