MFC对话框窗体上的特殊字符

时间:2016-11-14 15:51:28

标签: visual-c++ mfc

当我在静态文本标签上进行表单设计时,我可以看到特殊字符ąęį

enter image description here

这些字符在运行时被更改:

enter image description here

如果我以编程方式设置这些字符,我有:

enter image description here

如何确保显示正确的字符而不是问号,如上面的屏幕截图所示?

UPD:

我的项目是Multi-Byte。我发现在另一台电脑中我可以看到特殊字符。为什么呢?

2 个答案:

答案 0 :(得分:2)

你需要使用Unicode字符集才能正常工作,我猜你现在正在使用MBCS字符集。

您可以在项目属性中更改它。请参阅此屏幕截图:enter image description here

Visual Studio编辑器完全是Unicode,这意味着它可以在您设计对话框时显示您键入的特殊字符。但是,如果您的应用程序不是使用Unicode支持构建的,则它在运行时将无法显示thsoe字符。这是为什么你看到???在运行应用程序时替换Unicode文本。

答案 1 :(得分:0)

如果您在不同的计算机上获得不同的结果,这显然是由于系统设置的差异。

控制此设置的设置称为"非Unicode程序的语言",可在控制面板,语言,更改日期,时间或数字格式下找到。不幸的是,它是一个全局设置(即无法按应用程序或以编程方式设置)并需要重新启动。

如果可能的话,考虑将您的应用程序设为Unicode(并且有意义的成本或工作量)。