Visual studio 2008 MFC:逃离'&';窗口标题中的字符(VS2008)

Visual studio 2008 MFC:逃离'&';窗口标题中的字符(VS2008),visual-studio-2008,mfc,Visual Studio 2008,Mfc,这是我的应用程序的窗口标题: STRINGTABLE BEGIN IDR_MAINFRAME "EasyCash&&Tax" ... 它在窗口中正确显示“EasyCash&Tax”,但在任务栏中显示“EasyCash&Tax”: 如果我把它改成 IDR_MAINFRAME "EasyCash&Tax" 它将正确显示在任务栏中,但在窗口标题中,它将显示为“Easy

这是我的应用程序的窗口标题:

STRINGTABLE 
BEGIN
    IDR_MAINFRAME           "EasyCash&&Tax"
    ...
它在窗口中正确显示“EasyCash&Tax”,但在任务栏中显示“EasyCash&Tax”:

如果我把它改成

    IDR_MAINFRAME           "EasyCash&Tax"
它将正确显示在任务栏中,但在窗口标题中,它将显示为“EasyCashTax”,带下划线“T”,因为“&”被解释为键盘快捷键指示器


我正在使用VS2008。

为什么这个问题被标记为“MFC”?这似乎是一个WinAPI问题。如果应用程序基于MFC,请告知您显示的窗口是
CFrameWnd
-派生的还是
CDialog
-派生的(如果向导将应用程序创建为“基于对话框”)。不知道有多少用户仍然安装了VS2008,但即使使用较新版本的MFC,您的问题也可能重现。
&
仅当它出现在对话框控件(例如按钮)中时才是一个特殊字符。否则,
&
将按原样显示在窗口标题中。也许您有一个自定义绘图标题栏,它使用
DrawText
来显示窗口的标题,但它没有使用
DT_HIDEPREFIX
标志。@Constantine Georgiou我只是不想做假设。它是一个使用CMDIFrameWndEx的MDI,而不是一个基于对话框的应用程序。@Barmak Shemirani您用VS2008测试过它吗?我可以确认在VS2017 MDI应用程序中正确翻译了“&”。这绝对是VS2008或MFC9框架的一个怪癖。显示窗口标题栏的屏幕截图。我用VS2008测试了它,它按原样显示
&
。我有VS2008的基本版本。我想其他版本都有FeaturePack之类的。