如何在Windows系统托盘提示中显示&符号?

时间:2012-04-23 07:09:48

标签: c++ winapi prompt system-tray

我正在使用C ++和WinAPI编程。我使用Shell_NotifyIcon(NIM_ADD,...)API添加了一个系统托盘图标。该图标还有一个关联的用户提示,其中包含一个&符号,类似于“查看和复制”。但是,当提示弹出时,用户看到的是“查看复制”。我尝试将&符号加倍,就像“View&& Copy”一样,但这并没有帮助。

有没有人知道如何在Windows托盘提示中显示&符号?

2 个答案:

答案 0 :(得分:4)

这不是逃避&符号的问题 - Windows 按设计strip any ampersands from tooltip text,这是一个很好的理由:

  

许多应用程序创建包含与之对应的工具的工具栏   菜单命令。对于这样的工具,它便于工具提示   控件显示与相应菜单项相同的文本。该   系统自动剥离&符号(&)加速器字符   从传递给工具提示控件的所有字符串,并终止   字符串在第一个制表符(\ t),除非控件具有   TTS_NOPREFIX风格。

正如您所看到的,答案非常简单:您只需要将TTS_NOPREFIX添加到工具提示类中即可设置。

答案 1 :(得分:2)

显然,&符号需要双重转义,例如&&&

我不确定为什么,但似乎有效。

我的来源:this link