32位WIN7系统下的VS2012的安装界面字体乱码怎么解?

32位WIN7系统下的VS2012的安装界面字体乱码怎么解?,第1张

之前亦遇到如此问题,诸法未能奏效,疑是安装Ghost版 *** 作系统所致,后来重新完全安装了 *** 作系统,问题解决。

楼主可下载或购买原版的 *** 作系统,重新安装再试,不要用那些简化过的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

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11638509.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存