createFontIndirectW 函数 (wingdi.h)

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

语法

HFONT CreateFontIndirectW(
  [in] const LOGFONTW *lplf
);

参数

[in] lplf

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

返回值

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

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

注解

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

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

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

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

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

示例

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

注意

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

要求

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

另请参阅

CreateFont

CreateFontIndirectEx

DeleteObject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

字体和文本函数

字体和文本概述

LOGFONT

SelectObject