我的应用程序曾经使用过MFC CEdit控件,我们对宽字符(Unicode)字符串没有任何问题。切换到CRichEditCtrl后,似乎不再支持Unicode。汉字变成“??”等等。我已经读过CRichEditCtrl在引擎盖下使用了RichEdit *并且我已经尝试过投射指针,但没有任何效果。
我认为它可能是字体,但我当然可以使用ALT键方法将Unicode写入控件,只要将它们保存到模型中并写回来时,它们就是“????”。
在某个地方是否存在隐藏属性,在初始化将启用Unicode的对话框时我必须执行一些手动设置?
答案 0 :(得分:5)
我发现MFC自动使用RichEdit 1.0。除非使用RichEdit 2.0,3.0或4.0实现,否则富编辑将无法获得真正的Unicode支持。我能够手动更改资源文件中的属性:为RichEdit 2.0(支持Unicode)将类名从“RICHEDIT”更改为“RichEdit20W”。
瞧! Unicode支持!