如何向CRichEditCtrl添加Unicode支持?

Mik*_*ron 3 user-interface mfc visual-c++

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

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

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

Mik*_*ron 5

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

瞧!Unicode支持!