如何在控件里面显示Unicode字符啊

xqchang 2005-06-10 11:07:28
我的工程不是Unicode的,我想将文件的Unicode字符串读进来,再显示到一个控件中,现在能读,但在显示的时候有问题,该怎么改改啊?m_szText是一个CStatic控件。


WCHAR szCommandFile[MAX_PATH];
WCHAR szFilePath[MAX_PATH];
swprintf(szCommandFile, L"%s", L"c:\\temp\\enumfs2.ini");
GetPrivateProfileStringW(L"C:\\TEMP\\22\\", L"f2", L"", szFilePath, MAX_PATH, szCommandFile);

m_szText = CString(szFilePath); // 这儿就出错了

UpdateData(FALSE);
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyan4794 2005-06-10
  • 打赏
  • 举报
回复
把该处的Unicode字符转换为Ansi字符,W2A()应该可以
xqchang 2005-06-10
  • 打赏
  • 举报
回复
整个工程比较大,但就一个地方需要显示Unicode字符,是否必须把整个工程都要转成Unicode的?
如下这样行吗?我试了,但不行。

#define _UNICODE
WCHAR szCommandFile[MAX_PATH];
WCHAR szFilePath[MAX_PATH];
swprintf(szCommandFile, L"%s", L"c:\\temp\\enumfs2.ini");
GetPrivateProfileStringW(L"C:\\TEMP\\22\\", L"f2", L"", szFilePath, MAX_PATH, szCommandFile);

char szsFilePath[MAX_PATH];
WideCharToMultiByte(CP_ACP, 0, szFilePath, -1, szsFilePath, MAX_PATH, NULL, NULL);

m_szText = CString(szFilePath);

UpdateData(FALSE);

#undef _UNICODE
smartcomplier 2005-06-10
  • 打赏
  • 举报
回复
你的工程既然不是UNICODE的,当然不支持显示UNICODE文字了.

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧