wince OS中没有中文字体,应用程序界面上的汉字如何显示
1. os没有中文字体,所以文件名都是用英文命名的,
2. 但以前写的程序,都是直接输入中文的,包括button上在的CAPTION CStatic上面的字,都是中文的
3. 应用程序charset 设置的是unicode
现在在没有中文字体的OS上运行,全是一个四方框。有什么办法啊??
急请教。
我查一下,在OnInitDialog中写了如下代码
//增加中文字体
if (NULL != AddFontResource(CUSTOM_FONT))
{
::SendMessage( HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
}
else
{
AfxMessageBox(L"Load Font Error!");
}
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
WCHAR lffn[]= TEXT("微软雅黑");
wcscpy(lf.lfFaceName,lffn);
lf.lfHeight = 20;
lf.lfWidth = 0;
lf.lfQuality = CLEARTYPE_QUALITY;
lf.lfCharSet = GB2312_CHARSET ; //这个值有没有问题???
//hFontNew = CreateFontIndirect(&lf);
CFont hFontNew;
hFontNew.CreateFontIndirect(&lf);
//尝试将上面的一个控制中文显示正确,结果还是框框
GetDlgItem(IDC_CHECK_USB_OVER_CURRENT_TEST)->SetFont(&hFontNew);
//////////////////////////////////////////////////////////////////////////
[解决办法]
系统中没有中文字库,怎么加字体都没用的。
你可以:
1、在系统中设置语言,如不能设置,只能用下一个方法;
2、用CButtonST等图形界面类,用图形显示中文。
[解决办法]