GetCharABCWidthsFloatA 函数 (wingdi.h)

GetCharABCWidthsFloat 函数从当前字体检索指定范围内连续字符的宽度(以逻辑单位为单位)。

语法

BOOL GetCharABCWidthsFloatA(
  [in]  HDC        hdc,
  [in]  UINT       iFirst,
  [in]  UINT       iLast,
  [out] LPABCFLOAT lpABC
);

参数

[in] hdc

设备上下文的句柄。

[in] iFirst

指定查找 ABC 宽度的连续字符组中第一个字符的码位。

[in] iLast

指定查找 ABC 宽度的连续字符组中最后一个字符的码位。 此范围是非独占的。 如果指定的最后一个字符在指定的第一个字符之前,则返回错误。

[out] lpABC

指向接收字符宽度的 ABCFLOAT 结构的数组的指针(以逻辑单元为单位)。

返回值

如果该函数成功,则返回值为非零值。

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

注解

与仅返回 TrueType 字体宽度的 GetCharABCWidths 函数不同, GetCharABCWidthsFloat 函数检索任何字体的宽度。 此函数返回的宽度采用 IEEE 浮点格式。

如果未识别当前的世界到设备转换,则返回的宽度可能是非整数值,即使设备空间中的相应值是整数。

间距是在放置字形之前添加到当前位置的距离。 B 间距是字形黑色部分的宽度。 C 间距是添加到当前位置的距离,为标志符号右侧提供空白。 总高级宽度由 A+B+C 指定。

ABC 空格沿所选字体的字符底线测量。

默认字符的 ABC 宽度用于当前所选字体范围之外的字符。

注意

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

要求

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

另请参阅

ABCFLOAT

字体和文本函数

字体和文本概述

GetCharABCWidths

GetCharWidth

GetCharWidthFloat