回 帖 发 新 帖 刷新版面

主题:VC能否同时显示简体和繁体?

真是不好意思,因为visual c++人气太低所以发到这里来。
我想在ClistCtrl里调用SetItemText同时显示简体和繁体,但是繁体调用WideCharToMultiByte转换时得到乱码(我用的是使用多字节字符集),是不是VC不能同时显示简体和繁体?

大侠顺便看看http://bbs.pfan.cn/post-321673.html这个帖子,挂了两天没人回[em17]

回复列表 (共6个回复)

沙发

http://topic.csdn.net/t/20041126/12/3590675.html
这里有些零散资料,可以尝试。

板凳

楼上你给的链接里没有一个人贴出代码,所以没有一个人说得是对的。不过还是谢谢你的热心

理论上使用unicode可以解决问题,不过我选的是“使用多字节字符集”,要改成unicode的话很多地方都得修改,而且改完之后一片乱码:(

3 楼

呵呵,你的问题太抽象了,又想得到精确到代码级别的答案。这样的问题往往问问身边的人会比较有效果,因为涉及你的整体代码和使用的环境等等问题

4 楼

很久没有做MFC了。
游戏里面的文字基本都是自己加载字体、自己显示的。如果字体文件没有这个字(例如,英文字体一般不能显示汉字),那就不能显示这个字。

我用VC2005试了一下,貌似没有问题啊。确实正确的显示了。
[code=c]void CMFC001Dlg::OnBnClickedButton1()
{
    // TODO: Add your control notification handler code here
    m_lst1.DeleteAllItems();
    m_lst1.InsertItem(0, "AA");
    m_lst1.InsertItem(1, "BB");
    m_lst1.InsertItem(2, "汉字");
    m_lst1.InsertItem(3, "漢字");
}[/code]

5 楼

牛仔的话让我想到,会不会是因为MFC版本过低,某些库对字体的支持不太好

6 楼

WCHAR wChar[] = "漢字";
char ch[5] = {0};
用WideCharToMultiByte将wChar转换为ch得到乱码,所以InsertItem(i, ch)得不到想要的结果

我来回复

您尚未登录,请登录后再回复。点此登录或注册