CreateFontIndirectA 函数 (wingdi.h)

CreateFontIndirect 函数创建具有指定特征的逻辑字体。 随后可以选择该字体作为任何设备上下文的当前字体。

语法

HFONT CreateFontIndirectA(
  [in] const LOGFONTA *lplf
);

参数

[in] lplf

指向 LOGFONT 结构的指针,用于定义逻辑字体的特征。

返回值

如果函数成功,则返回值是逻辑字体的句柄。

如果函数失败,则返回值 NULL

言论

CreateFontIndirect 函数创建一个逻辑字体,该字体具有 LOGFONT 结构中指定的特征。 使用 SelectObject 函数选择此字体时,GDI 的字体映射器会尝试将逻辑字体与现有物理字体匹配。 如果找不到完全匹配项,它将提供一种替代方法,其特征与尽可能多的请求特征匹配。

若要在操作系统的不同语言版本上获取适当的字体,请使用 LOGFONT 结构 中所需的字体特征调用 EnumFontFamiliesEx,检索相应的字样名称,并使用 createFont 或 CreateFontIndirect创建字体。

不再需要字体时,请调用 DeleteObject 函数将其删除。

许多东亚语言的字体有两个字号:英语名称和本地化名称。 CreateFontCreateFontIndirect 仅在与语言匹配的系统区域设置上获取本地化的字样名称,而在所有其他系统区域设置上采用英语字样名称。 最佳方法是尝试一个名称,如果失败,请尝试另一个名称。 请注意,EnumFontsEnumFontFamiliesEnumFontFamiliesEx 返回英语字样名称(如果系统区域设置与字体语言不匹配)。

CreateFontCreateFontIndirect的字体映射器,CreateFontIndirectEx 可识别英语和本地化字样名称,而不考虑区域设置。

例子

有关示例,请参阅 创建逻辑字体

注意

wingdi.h 标头将 CreateFontIndirect 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 wingdi.h (包括 Windows.h)
Gdi32.lib
DLL Gdi32.dll

另请参阅

CreateFont

CreateFontIndirectEx

DeleteObject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

字体和文本功能

字体和文本概述

LOGFONT

SelectObject