【发布时间】:2018-08-14 02:47:32
【问题描述】:
我正在尝试使用下面指定的 unicode 特殊字符通过代码设置对话框项文本:
https://www.fileformat.info/info/unicode/char/1f310/index.htm
我一直在尝试调用 SetWindowTextW 函数,将 UTF-16(hex) 值作为参数传递,但没有成功:
GetDlgItem(IDSETTINGS)->SetWindowTextW(_T("\uD83C\uDF10"));
当我构建我的解决方案时,我遇到了两个错误:
错误 C3850: '\uD83C' a universal-character-.name 指定了一个无效字符
错误 C3850: '\uDF10' a universal-character-.name 指定了无效字符
我将不胜感激。
【问题讨论】:
-
你试过
"????"吗? -
SetWindowTextW和_T()不兼容。将L""与 Unicode 版本的 API 调用一起使用。 -
您通常可以通过查找MSDN中的错误代码来获得更深入的解释。
-
您可以为每个窗口单独设置字体。
-
L"\xD83C\xDF10"也可以使用