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 [仅限桌面应用]
目标平台 窗户
标头 wingdi.h (包括 Windows.h)
Gdi32.lib
DLL Gdi32.dll

另请参阅

ABCFLOAT

字体和文本功能

字体和文本概述

GetCharABCWidths

GetCharWidth

GetCharWidthFloat