关于DuiLib的CRichEditUI控件在win8下输入中文乱码的解决方案
来源:互联网 发布:fft算法原理 编辑:程序博客网 时间:2024/05/29 03:28
关于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下找的到。
显示效果如下:
0 0
- 关于DuiLib的CRichEditUI控件在win8下输入中文乱码的解决方案
- 关于DuiLib的CRichEditUI控件在win8下输入中文乱码的解决方案
- DuiLib : 限制CRichEditUI输入的Demo
- duilib : 限制CRichEditUI输入的字数和行数
- duilib中CRichEditUI控件在使用时要注意的地方
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim 在 windows 下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- mybatis 插入递增主键——abc201611090001 abc201611090002
- log信息输出到文件
- MVC框架的简单描述
- S5PV210体系结构
- android 中的色彩矩阵和图像分析
- 关于DuiLib的CRichEditUI控件在win8下输入中文乱码的解决方案
- 本人java面试中问答的问题分享
- zxing打开扫码页面,黑屏问题
- Spring优点
- iOS网络高级编程
- 从汇编角度看Linux C函数的调用约定和参数传递的细节
- IntelliJ Idea 常用快捷键列表
- 编写调试Android工程时,遵循的基本步骤
- <head> 标签使用