博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】多字节版本下MFC控件处理字符集的BUG
阅读量:7042 次
发布时间:2019-06-28

本文共 664 字,大约阅读时间需要 2 分钟。

 

工程项目属性:

字符集:多字节

stdafx.h文件中添加:

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")

注意:如果多字节版本下不添加上述代码,则编辑框不能正常显示vật huyền,部分字符显示乱码。

 

同样的三个编辑框控件,分别输入:vật huyền

其中第二个编辑框绑定到MFC控件CEdit:

DDX_Control(pDX, IDC_EDIT2, m_edit2);

程序运行后,分别用spy++获取编辑框文本,第一个和第三个都显示正常:

 

第二个编辑框的文本获取到的为乱码:

 

问题产生原因:

第一和第三个编辑框控件的消息流程走的是默认机制,不存在字符集转换的bug。而第二个编辑框控件走的是MFC消息机制,在处理WM_GETTEXT消息时存在字符集转换BUG。

相关例子见::http://www.cnblogs.com/daxingxing/archive/2012/06/14/2549279.html

 

注意:项目如果是UNICODE版本则不存在上述问题。

 

 

 

转载于:https://www.cnblogs.com/daxingxing/p/3454059.html

你可能感兴趣的文章
信息化,让ERP回到自己的势力范围去!
查看>>
网络故障排除精解十例(一)
查看>>
/bin/postconf:error while loading shared libraries:libmysqlclient.so.15
查看>>
ECS Linux 服务器中文乱码如何解决?
查看>>
JQuery事件——鼠标事件
查看>>
CISCO路由器DHCP 配置
查看>>
linux-practice(23-24)
查看>>
zeppelin-0.6.2-bin-all/conf/shiro.ini配置详情
查看>>
Lucene
查看>>
python面向对象——属性
查看>>
创建容器失败
查看>>
apache用户认证
查看>>
webservice快速入门-SOAP和WSDL
查看>>
cisco 单臂路由配置及使用
查看>>
被黑客种下恶意程序进行挖矿的排除案例
查看>>
day17-vim的使用及实践(二)
查看>>
在Linux中安装Oracle(较详细图解)
查看>>
Java反序列化之commons-beanutils分析
查看>>
apache源码编译时报错ssl_engine_init.c:546: error: 'STACK' undeclared (first use in this function)...
查看>>
发改委印发三年行动计划 智能机器人有望成为下一片蓝海
查看>>