c++ - 获取字体列表 (Win32)

标签 c++ winapi fonts

我想制作一个组合框,其中列出了所有计算机已安装的字体。我不确定这是怎么做到的。我需要访问注册表才能得到这个吗? 谢谢

最佳答案

您应该使用 Win32 API 函数 EnumFontFamiliesEx .您调用该函数,传递一个匹配 EnumFontFamExProc 类型的回调函数. EnumFontFamiliesEx 找到的每种字体都会调用一次回调函数。

我建议使用 unicode 版本 (EnumFontFamiliesExW),因为我已经看到 ascii 版本 (EnumFontFamiliesExA) 对于东亚语言字体显示出一些非常奇怪的行为。

链接的文章有示例代码。

关于c++ - 获取字体列表 (Win32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2702157/

相关文章:

c++ - 为什么在 C++ 中有 delete[]?

c - Win32 应用程序中的窗口无法正常关闭

html - 如何将 .woff 字体导入我的网站

html - 应用网页上使用的字体类型

HTML/CSS - 使用自定义字体/FontSquirrel

c++ - 这个检测整数加法溢出的函数真的有用吗?

c++ - 我应该使用 C(99) boolean 值吗? (还有 C++ 中的 C++ boolean 值?)

c++ - 替换 std::map 中的键

C++ 内存 - 是否需要删除使用 'new' 创建的原始类型变量?

c++ - 为基于对话框的应用程序实现回调函数