我的步骤是这样的:
1、将新字体库拷贝到windows字体目录下。字体名是Square721 Dm
2、 myFont1.CreateFont(
20, // nHeight
8, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("Square721 Dm"));
CFont *pOldFont=dc.SelectObject(&myFont1);//选入设备描述表
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(RGB(0,0,0));
CString str1 = "NAVI";
dc.ExtTextOut(30,111,ETO_CLIPPED,CRect(30,111,81,132),str1,NULL);
dc.SelectObject(pOldFont); //将myFont从设备环境中分离
myFont1.DeleteObject(); //删除myFont对象
结果字体没有变化,ANSI_CHARSET, // nCharSet,这个参数我不清楚(用DEFAULT_CHARSET参数也不行),怎样将Square721 Dm字体加入到win ce中,在EVC中怎样调用呢???。
不一定要定制的时候 可以在注册表里面注册的吧。。。
还有个API AddFontResource
定制win ce的时候,在Platform.Builder,Font中找到我想要的字体,我要怎样加入呢???
问题已解决,
将新字体库拷贝到win ce中的windows字体目录下。字体名是Square721 Dm
myFont1.CreateFont(
20, // nHeight
8, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
DEFAULT_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("Square721 Dm"));
ANSI_CHARSET将这个参数改为DEFAULT_CHARSET后OK。