这是一个老问题了,在论坛上没有找到答案忘各位大虾帮忙。源代码如下:LOGFONT logFont;
ZeroMemory((void*)&logFont,sizeof(logFont));
CString str="宋体";
_tcscpy(logFont.lfFaceName,str);
logFont.lfHeight = -12;
logFont.lfWeight = 400;
logFont.lfCharSet = (BYTE)(65001&0x00FF); //utf8代码页
logFont.lfOutPrecision = 3;
logFont.lfClipPrecision = 2;
logFont.lfQuality = 1;
logFont.lfPitchAndFamily = 2;
BOOL bResult = m_font.CreateFontIndirect(&logFont);CWnd* pEdit = GetDlgItem(IDC_EDIT1);
if (pEdit)
{
pEdit->SetFont(&m_font);
pEdit->SetWindowText("\xE4\xB8\xAD"); //对应“中”这个汉字
}程序运行的结果不是预期的那样,并没有显示“中”这个汉字。
我已经设置了字体和代码页,可是也不行。
请问这个问题应该如何解决
ZeroMemory((void*)&logFont,sizeof(logFont));
CString str="宋体";
_tcscpy(logFont.lfFaceName,str);
logFont.lfHeight = -12;
logFont.lfWeight = 400;
logFont.lfCharSet = (BYTE)(65001&0x00FF); //utf8代码页
logFont.lfOutPrecision = 3;
logFont.lfClipPrecision = 2;
logFont.lfQuality = 1;
logFont.lfPitchAndFamily = 2;
BOOL bResult = m_font.CreateFontIndirect(&logFont);CWnd* pEdit = GetDlgItem(IDC_EDIT1);
if (pEdit)
{
pEdit->SetFont(&m_font);
pEdit->SetWindowText("\xE4\xB8\xAD"); //对应“中”这个汉字
}程序运行的结果不是预期的那样,并没有显示“中”这个汉字。
我已经设置了字体和代码页,可是也不行。
请问这个问题应该如何解决
HWND hWnd,
LPCTSTR lpString
);
所以, 不支持 utf8, 要把 utf8 转成 LPCTSTR
太悲哀了。