DrawTextW (Unicode) and DrawTextA (ANSI)
参数不同
简单来说
unicode 是用两个字节表示所有的字符,包括字母,
ansi 是用1个字节表示字母,两个字节表示汉字等文字
字符串变量时ANSI使用DrawTextA
字符串变量是Unicode使用DrawTextW
CString宽字节转换成多字节字符串
void CStringToChar(CString strSrc,char* pDest,int size)
{
memset(pDest,0,size);
int nLength = strSrc.GetLength();
int nBytes = WideCharToMultiByte(CP_ACP,0,strSrc,nLength,NULL,0,NULL,NULL);
WideCharToMultiByte(CP_OEMCP, 0, strSrc, nLength, pDest, nBytes, NULL, NULL);
pDest[nBytes] = 0;
};
注意:第二次调用WideCharToMultiByte主要是为了能够获取生成的长度
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。