符号 (&) 在 .rc 文件中的含义
Meaning of Ampersand(&), in .rc files
在 Windows 上使用 WIN32 编写 Windows 应用程序时,要以非动态方式加载资源,必须加载一个 *.rc
文件,其中包含用于定义公共功能的资源定义语句在应用程序中,例如按钮和菜单。在阅读 WinProg 的 WIN32 API 教程时,我遇到了这段令我困惑的代码:
IDR_MYMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", ID_FILE_EXIT
END
POPUP "&Stuff"
BEGIN
MENUITEM "&Go", ID_STUFF_GO
MENUITEM "G&o somewhere else", 0, GRAYED
END
END
看了上面的代码,就明白是什么功能了。我自己理解代码在 .rc
文件中的作用,但让我感到困惑的是符号 (&
),它们在字符串中间可见,例如 "G&o somewhere else"
(在 G 和 O 之间),或 "E&xit"
(在 E 和 X 之间)。我对 Stack Overflow 的具体问题是:.rc
文件中的符号是什么意思?在编写应用程序时我必须把它们放在哪里?我已经查看了描述文件功能的 MSDN link,但我无法在文档中得到答案。
那些&
只用于菜单,它们定义了"menu access keys", or "mnemonics",也被其他人称为加速器和快捷方式。是的,术语过多且令人困惑。
在 Windows 上使用 WIN32 编写 Windows 应用程序时,要以非动态方式加载资源,必须加载一个 *.rc
文件,其中包含用于定义公共功能的资源定义语句在应用程序中,例如按钮和菜单。在阅读 WinProg 的 WIN32 API 教程时,我遇到了这段令我困惑的代码:
IDR_MYMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", ID_FILE_EXIT
END
POPUP "&Stuff"
BEGIN
MENUITEM "&Go", ID_STUFF_GO
MENUITEM "G&o somewhere else", 0, GRAYED
END
END
看了上面的代码,就明白是什么功能了。我自己理解代码在 .rc
文件中的作用,但让我感到困惑的是符号 (&
),它们在字符串中间可见,例如 "G&o somewhere else"
(在 G 和 O 之间),或 "E&xit"
(在 E 和 X 之间)。我对 Stack Overflow 的具体问题是:.rc
文件中的符号是什么意思?在编写应用程序时我必须把它们放在哪里?我已经查看了描述文件功能的 MSDN link,但我无法在文档中得到答案。
那些&
只用于菜单,它们定义了"menu access keys", or "mnemonics",也被其他人称为加速器和快捷方式。是的,术语过多且令人困惑。