C++获取字体名称

linyongzuo 2011-01-07 04:26:39
想获取系统字体名称,不通过注册表。因为Windows Font Viewer
通过文件名把系统字体文件改成了字体名称,现在就需要那个字体名称,怎么获取,不要系统文件名。
标准c++。。。急求
...全文
577 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesky12312388 2011-01-07
  • 打赏
  • 举报
回复
枚举所有字体
LOGFONT lf;
lf.lfCharSet = DEFAULT_CHARSET; // Initialize the LOGFONT structure
strcpy(lf.lfFaceName, " ");
CClientDC dc (this);

//Enumerate the font families
::EnumFontFamiliesEx((HDC) dc,&lf,
(FONTENUMPROC) EnumFontFamProc,(LPARAM) this,0);

//枚举函数
int CALLBACK EnumFontFamProc(LPENUMLOGFONT lpelf,LPNEWTEXTMETRIC lpntm,DWORD nFontType,long lparam)
{
// Create a pointer to the dialog window
CDay7Dlg* pWnd = (CDay7Dlg*) lparam;
// add the font name to the list box

pWnd -> m_ctlFontList.AddString(lpelf -> elfLogFont.lfFaceName);

// Return 1 to continue font enumeration
return 1;
}
其中m_ctlFontList是一个列表控件变量
参考:http://topic.csdn.net/t/20050519/11/4019148.html

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧