VC中让COMBO BOX直接调用系统的字体信息

来源:百度知道 编辑:UC知道 时间:2024/05/19 06:56:32
如题,让下拉框直接显示系统的所有字体的信息应该调用哪个函数啊???
最好能告诉我以后这类问题去查什么资料就更好了

BOOL
CALLBACK
CDlg::EnumFamScreenCallBackEx(
ENUMLOGFONTEX* pelf,
NEWTEXTMETRICEX* /*lpntm*/,
int FontType,
LPVOID pThis) /*回调函数,枚举系统已经安装的字体*/
{
if (FontType & RASTER_FONTTYPE)
return 1;
CString ss;
if(FontType & TRUETYPE_FONTTYPE)
ss=_T(pelf->elfLogFont.lfFaceName);
int kk= ((CDlg*)pThis)->m_FontList.AddString(ss); //m_FontList为一个ComboBox的控制变量
return 1;
}

BOOL CDlg::EnumerateFonts(void)/*枚举系统已经安装的字体*/
{
HDC hDC;
hDC = ::GetWindowDC(NULL);
LOGFONT lf;
ZeroMemory(&lf,sizeof(lf));
lf.lfCharSet = GB2312_CHARSET;
if (!EnumFontFamiliesEx(
hDC, // 设备描述表句柄
&lf, // 逻辑字体信息指针
(FONTENUMPROC)EnumFamScreenCallBackEx, // 回调函数指针
(LPARAM) this,
(DWORD) 0))
return FALSE;

::