读书人

wince OS中没有中文字体应用程序界面

发布时间: 2012-02-25 10:01:49 作者: rapoo

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等图形界面类,用图形显示中文。

[解决办法]

探讨

系统中没有中文字库,怎么加字体都没用的。
你可以:
1、在系统中设置语言,如不能设置,只能用下一个方法;
2、用CButtonST等图形界面类,用图形显示中文。

[解决办法]
探讨
引用:

系统中没有中文字库,怎么加字体都没用的。
你可以:
1、在系统中设置语言,如不能设置,只能用下一个方法;
2、用CButtonST等图形界面类,用图形显示中文。


LS 不要误导人!
我们以前做产品,多国语言,就是用英文系统。然后通过 AddFontResource() 加载不同的字库来实现各种语言的显示。

[解决办法]
CFont hFontNew;

是局部变量,改成全局或者在类中申明就OK了

读书人网 >WinCE

热点推荐