打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
msftedit.dll是richedit4.0的动态库

关于DuiLib的CRichEditUI控件在win8下输入中文乱码的解决方案

      上午经理拿来一个微软suiface RT的平板,运行着我之前开发的一个软件,发现了一个bug,就是在输入富文本框内容时,竟然是乱码。

      这个平板是win8系统,之前这套系统在xp、vista下都进行过系统测试的,都没有出现过这种问题,决定查找一下原因。

      此富文本框是使用的DUILIB开源界面库的RichEdit控件进行实现的,通过一下午的查找原因,找到了两个解决方案:

     A、通过提供的QQdemo,发现unicode编译出的exe,在win8下输入中文时,richedit可正常显示中文,而多字节编译的exe,也是乱码,估解决方案之一就是将其工程改成unicode字符键进行编译,可正常使用richedit;

     B、另一解决方案,就不得不说微软的不按套路出牌了,在查看UIRichEdit.cpp的源码时发现了这样的一段代码:

PCreateTextServices TextServicesProc;    HMODULE hmod = LoadLibrary(_T("msftedit.dll"));    if (hmod)    {        TextServicesProc = (PCreateTextServices)GetProcAddress(hmod,"CreateTextServices");    }    if (TextServicesProc)    {        HRESULT hr = TextServicesProc(NULL, this, &pUnk);    }    hr = pUnk->QueryInterface(IID_ITextServices,(void **)&pserv);

怀疑是不是win8下的msftedit.dll与xp、vista下的有差别导致的显示乱码问题,通过拷贝msftedit.dll到项目文件中,在win8下运行,发现richedit输入中文显示正常。估拷贝msftedit.dll到自己的安装目录下,同样可以解决乱码的问题。   msftedit.dll是richedit4.0的动态库,之前的有richedit32、richedit20,都可以在windows\system32下找的到。

显示效果如下:

呵呵,支持一下柠檬秀
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
彻底解决RichTextBox中表格不能折行的问题
delphi 中 Richedit 使用 MsftEdit.dll 画表格 的具体分析
win7 APPCRASH问题怎么解决???
MFC中使用RICHEDIT控件常见问题
CEdit & CRichEdit 使用技巧
VC 编译后出现中文乱码解决方案
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服