Share via


快捷键编辑器 (C++)

快捷键对应表是一个 C++ Windows 资源,包含由快捷键和与之关联的命令标识符组成的列表。 一个程序可以拥有多个快捷键对应表。

通常情况下,快捷键用作程序命令的键盘快捷键,也可用于菜单或工具栏。 但是,快捷键对应表可用于为没有关联用户界面对象的命令定义组合键。

提示

使用快捷键编辑器时,可单击鼠标右键以显示常用命令的快捷菜单。 可用命令取决于指针所指向的内容。

可以使用 类视图 将快捷键命令与代码挂接。 有关预定义快捷键的列表,请参阅快捷键

注意

Windows 不允许创建空快捷键对应表。 如果创建的快捷键对应表中没有任何条目,在保存表时会被自动删除。

快捷键属性

可以随时在“属性”窗口中设置快捷键属性。 还可以使用快捷键编辑器修改快捷键对应表中的快捷键属性。 使用“属性”窗口或快捷键编辑器所做的更改具有相同结果,在快捷键对应表中都即时反映编辑情况

“ID”属性引用程序代码中的每个快捷键对应表条目。 此条目是在用户按快捷键或组合键时程序收到的命令值。 若要使快捷键与菜单项相同,请使“ID”相同(只要快捷键对应表的“ID”与菜单资源的“ID”相同)

每个快捷键“ID”都有三个属性:“修饰符”、“键”和“类型”

“修饰符”属性设置快捷键的控制组合键

注意

在“属性”窗口中,“修饰符”属性作为三个独立的“布尔值”属性出现,所有这些属性都可独立控制:“Alt”、“Ctrl”和“Shift”

下面是“修饰符”属性在快捷键对应表中的合法条目

说明
用户仅按“键”值。

此值与 ASCII/ANSI 值 001 到 026 一起使用时最有效,这些值解释为 ^A 到 ^Z(Ctrl+A 到 Ctrl+Z)
Alt 用户必须先按 Alt,再按“键”值
Ctrl 用户必须先按 Ctrl,再按“键”值,对 ASCII 类型无效
Shift 用户必须先按 Shift,再按“键”值
Ctrl+Alt 用户必须先按 Ctrl 和 Alt,再按“键”值,对 ASCII 类型无效
Ctrl+Shift 用户必须先按 Ctrl 和 Shift,再按“键”值,对 ASCII 类型无效
Alt+Shift 用户必须先按 Alt 和 Shift,再按“键”值,对 ASCII 类型无效
Ctrl+Alt+Shift 用户必须先按 Ctrl、Alt 和 Shift,再按“键”值,对 ASCII 类型无效

“键”属性设置实际用作快捷键的实际键

下面是“键”属性在快捷键对应表中的合法条目

说明
介于 0 和 255 之间的整数(十进制格式)。 该值确定值是被视为 ASCII 还是 ANSI,如下所示:

- 单位数字始终解释为对应键,而不是 ASCII 或 ANSI 值。
- 前面带有零的 1 到 26 中的值解释为 ^A 到 ^Z,这表示按住 Ctrl 键时字母表字母的 ASCII 值
- 27 到 32 的值始终解释为三位十进制值 027 到 032。
- 033 到 255 的值(无论前面是否带有 0)解释为 ANSI 值。
单个键盘字符。 大写 A - Z 或数字 0 - 9 可以是 ASCII 或虚拟键值。 任何其他字符仅为 ASCII。
范围 A - Z(仅限大写)中的单个键盘字符,前面带有插入符号 (^),例如 ^C。 此选项输入键在按住 Ctrl 键的同时被按时的 ASCII 值
任何有效的虚拟键标识符。 快捷键对应表中的“键”下拉框包含标准虚拟键标识符的列表

注意

输入 ASCII 值时,“修饰符”属性选项会受到限制。 唯一可供使用的控制键是 Alt 键。

提示

定义快捷键的快捷方式是右键单击快捷键对应表中的一个或多个条目,然后选择“键入的下一个键”并按键盘上的任意键或组合键。

也可从“编辑”菜单使用“键入的下一个键”命令

“类型”属性确定与快捷键“ID”关联的快捷键组合是解释为 ASCII/ANSI 键值还是虚拟键 (VIRTKEY) 组合

  • 如果“类型”属性为“ASCII”,则“修饰符”属性只能是 NoneAlt,或者它可以具有使用 Ctrl 键的快捷键(通过在键前面加上 ^ 来指定)

  • 如果“类型”属性是“VIRTKEY”,则“修饰符”和“键”值的任何组合都有效

注意

如果要将某个值输入到快捷键对应表中,并将该值视为 ASCII/ANSI,请选择表中相应条目的“类型”,然后从下拉列表中选择“ASCII”。 但是,如果从“编辑”菜单使用“键入的下一个键”命令指定“键”,则必须先将“类型”属性从“VIRTKEY”更改为“ASCII”,然后再输入“键”代码

快捷键对应表

在 C++ 项目中,可以直接在快捷键编辑器中使用就地编辑来编辑快捷键对应表

下面的过程涉及使用标准属性页,但是,就地编辑和属性页方法具有相同的结果。 使用属性页或使用就地编辑进行的更改会立即反映在快捷键对应表中。

在快捷键对应表中编辑

  1. 通过双击资源视图中的快捷键对应表图标将其打开。

  2. 在该表中选择一个条目并选择以激活就地编辑。

  3. 从下拉组合框中进行选择或就地输入以进行更改:

    • 对于“ID”,从列表进行选择或输入以进行编辑

    • 对于“修饰符”,从列表中进行选择

    • 对于“键”,从列表进行选择或输入以进行编辑

    • 对于“类型”,从列表中选择“ASCII”或“VIRTKEY”

在打开的快捷键对应表中查找项

  1. 通过双击资源视图中的快捷键对应表图标将其打开。

  2. 选择列标题,按字母顺序对列内容进行排序。 例如,选择“ID”以在快捷键对应表中按字母顺序显示所有 ID

    然后,可以浏览列表并找到该项。

向快捷键对应表添加项

  1. 通过双击资源视图中的快捷键对应表图标将其打开。

  2. 在快捷键对应表中右键单击并选择“新建快捷键”,或选择表顶部的空行条目

  3. 从“ID”框中的下拉列表选择 ID,或在“ID”框中输入新 ID

  4. 输入要用作快捷键的“键”,或右键单击并选择“键入的下一个键”来设置组合键,或是转到菜单“编辑”>“键入的下一个键”

  5. 在需要时更改“修饰符”和“类型”,然后按 Enter

注意

确保定义的所有快捷键都是唯一的。 可以将多种组合键分配给相同 ID 而不会产生任何不良影响,例如,Ctrl+P 和 F8 可以同时分配给 ID_PRINT。 但是,分配给多个 ID 的组合键会无法正常工作,例如,同时分配给 ID_SPELL_CHECK 和 ID_THESAURUS 的 Ctrl+Z

若要从快捷键对应表删除项

  1. 通过双击资源视图中的快捷键对应表图标将其打开。

  2. 选择要删除的条目,或在选择时按住 Ctrl 或 Shift 键以选择多个条目

  3. 右键单击并选择“删除”,或转到菜单“编辑”>“删除”

提示

还可以按 Delete 键进行删除

将快捷键对应表项移动或复制到另一个资源脚本文件

  1. 在两个资源脚本文件中打开快捷键对应表,然后选择要移动的条目。

  2. 从“编辑”菜单选择“复制”或“剪切”

  3. 在目标资源脚本文件中选择一个条目,然后从“编辑”菜单中选择“粘贴”

注意

还可以使用快捷键进行复制和粘贴。

更改多个快捷键的属性

  1. 通过双击资源视图中的快捷键对应表图标将其打开。

  2. 选择要更改的快捷键,方法是在选择每个快捷键时按住 Ctrl 键

  3. 转到“属性”窗口并键入希望所有所选快捷键共享的值。

注意

每个修饰符值在“属性”窗口中都显示为布尔属性。 如果在“属性”窗口中更改修饰符值,则快捷键对应表会将新修饰符视为对以前存在的任何修饰符的添加。 因此,如果设置任何修饰符值,则需要设置所有这些值,以确保每个快捷键共享相同的“修饰符”设置。

要求

Win32

另请参阅

Resource Editors
快捷键