读书人

CString UNICODE 拜托诸位帮帮忙 小女

发布时间: 2013-10-15 16:47:37 作者: rapoo

CString UNICODE 拜托各位帮帮忙 小女感激不尽
MFC工程中的一个小界面显示,要竖排显示一串字符,因为有汉字,我每次都读两个字节,可是一旦有一个ANSI字符就会出错,我想把CString改成UNICODE的怎么也改不明白,求助大家,给我讲一讲吧

代码:

CString m_curStr = “Y轴坐标”;

for(int i = 0; i < len ; i++)
pDC->TextOut( xValue, yValue + 18 × i, m_curStr.Mid(i*2,2) );





unicode cstring mfc
[解决办法]
不用去改宏,就使用ANSI字符

CStringW m_curStr = L“Y轴坐标”;

for(int i = 0; i < len ; i++)
//pDC->TextOut( xValue, yValue + 18 × i, m_curStr.Mid(i*2,2) );
::TextOutW(pDC->GetSafeDC(),...);



[解决办法]


CStringW m_curStr = L"Y轴坐标";
len = m_curStr.GetLength();

for( int i=0; i<len; i++)
{
CString str(m_curStr.GetAt(i));
pDC->TextOut( xValue, yValue+18*i, str);
}

[解决办法]
新版vs直接抛弃了 多字节。
不要再顾念多字节了,投奔unicode。
CString str = L"哈哈222"; 直接用L""
垂直显示,正好之前有个好友写过,我找找看
http://blog.csdn.net/sadasasdasd/article/details/8605993
[解决办法]
你都已经找到原因是因为没有安装库了,你觉得一句“ifdef UNICODE”能代替一个库吗

读书人网 >VC/MFC

热点推荐