问题:
我希望强调某些静态文本控件的第一个字母(例如Login和Password)。当按下ALT
键时,字母会加下划线。
我尝试了什么: 在C#中,我能够通过使用&符号来实现这一点。例如"&登录"或"&密码"。我试图在C ++中找到一个类似的方法。下图显示了C#中的一个示例:
我在Visual Studio 2010中使用MFC / C ++。
修改
添加了有关ALT
密钥的信息。以下是我在Visual Studio 2010属性框中尝试的示例。我在"标题"的文字前面加了一个&符号。
当我在调试器中运行我的程序时,第一个字母没有下划线(直到按ALT
为止):
答案 0 :(得分:1)
菜单和静态控件之间存在根本区别。
要在菜单中执行此操作,您就像在C#中一样。这是在C ++项目中编辑菜单的屏幕截图:
......这是结果:
对于静态控件,您必须清除控件的SS_NOPREFIX
样式才能获得相同的行为。然而,我的观察是,在某些情况下,下划线没有显示(但我还没有确定下划线没有显示的确切情况 - 我认为何时发生,我通过更改字体来修复它,但我不记得确定。)
答案 1 :(得分:1)
在SO社区的帮助下,似乎在所需的带下划线的字母之前使用符号(&)符号是正确的方法。我的个人计算机上有一个设置,可以隐藏带下划线的字母,直到按下ALT
键为止。
根据MSDN:
用户通常必须按ALT才能查看访问密钥指定。为确保在整个开发过程中解决这些问题,请将计算机设置为持久显示访问密钥。
在Windows 8中:打开控制面板 - >轻松访问中心 - >使键盘更易于使用。
在屏幕底部,选中“下划线键盘快捷键和访问键”。