
楼主可下载或购买原版的 *** 作系统,重新安装再试,不要用那些简化过的Ghost版的
用EnumFontFamiliesEx函数就可以了,示例如下:1
2
3
4
5
LOGFONT lf
ZeroMemory(&lf,sizeof(LOGFONT))
lf.lfCharSet = DEFAULT_CHARSET
_tcscpy(lf.lfFaceName,TEXT(""))
EnumFontFamiliesEx(pDC->GetSafeHdc(),&lf,(FONTENUMPROC)EnumFontFamiliesProc,(LPARAM)this,0)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BOOL CALLBACK CFontCombo::EnumFontFamiliesProc(LPENUMLOGFONT lpelf,LPNEWTEXTMETRIC lpntm,DWORD nFontType,long lParam)
{
if(!(nFontType &RASTER_FONTTYPE))
{
// if (lpelf->elfLogFont.lfCharSet == ANSI_CHARSET || lpelf->elfLogFont.lfCharSet == GB2312_CHARSET)
{
CFontCombo *pCombo = (CFontCombo *)lParam
if(lpelf->elfFullName[0] != TEXT('@') &&pCombo->FindStringExact(0,(LPCTSTR)lpelf->elfFullName) == LB_ERR)
{
int index = ((CFontCombo *)lParam)->AddString((LPCTSTR)lpelf->elfFullName)
LPLOGFONT lpLF = new LOGFONT
CopyMemory(lpLF,lpelf,sizeof(LOGFONT))
((CFontCombo *)lParam)->SetItemData(index,(DWORD)lpLF)
}
}
}
return TRUE
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)