如何将 Unicode 支持添加到 CRichEditCtrl?

Posted

技术标签:

【中文标题】如何将 Unicode 支持添加到 CRichEditCtrl?【英文标题】:How do I add Unicode support to a CRichEditCtrl? 【发布时间】:2009-09-24 22:00:16 【问题描述】:

我的应用程序曾经使用 MFC CEdit 控件,我们在使用宽字符 (Unicode) 字符串时没有遇到任何问题。切换到 CRichEditCtrl 后,似乎不再支持 Unicode。汉字变成“??”等等。我已经读到 CRichEditCtrl 在后台使用 RichEdit* 并且我尝试过尝试投射指针,但没有任何效果。

我认为可能是字体,但我当然可以使用ALT键方法将Unicode写入控件,只是当它们保存到模型中并写回时,它们是“????”。

在某个地方是否有隐藏属性,在初始化启用 Unicode 的对话框时我必须进行一些手动设置?

【问题讨论】:

【参考方案1】:

我发现 MFC 自动使用 RichEdit 1.0。除非使用 RichEdit 2.0、3.0 或 4.0 实现,否则富编辑将无法获得真正的 Unicode 支持。我能够手动更改资源文件中的属性:将 RichEdit 2.0(支持 Unicode)的类名从“RICHEDIT”更改为“RichEdit20W”。

瞧! Unicode 支持!

【讨论】:

奇怪!你用的是哪个版本的VC、MFC、SDK。 RichEdit20W 长期以来一直是默认设置。 使用 Visual C++,2005,无论 MFC 库附带什么。

以上是关于如何将 Unicode 支持添加到 CRichEditCtrl?的主要内容,如果未能解决你的问题,请参考以下文章

将字符串(带有 unicode 字符)添加到字典时添加额外的斜杠( \ )

Kendo 导出到 PDF Unicode 支持

将 unicode 添加到字符串 html 标记模式

GUI:如何确定是不是支持某些 Unicode 字符?

有没有办法可以将 unicode 文本添加到 MBCS MFC 菜单

将 Arial Unicode MS 添加到 CKEditor