STROBJ_bGetAdvanceWidths 函数 (winddi.h)

STROBJ_bGetAdvanceWidths 函数检索一个矢量数组,这些向量指定组成指定字符串的可能字形宽度。

语法

ENGAPI BOOL STROBJ_bGetAdvanceWidths(
       STROBJ  *pso,
  [in] ULONG   iFirst,
       ULONG   c,
       POINTQF *pptqD
);

参数

pso

调用方提供的指向描述文本字符串的 STROBJ 结构的指针。 这通常是驱动程序的 DrvTextOut 函数接收的 STROBJ 结构。

[in] iFirst

STROBJ 结构提供的文本字符串中的调用方提供的从零开始的索引。 此索引表示要为其返回宽度的字符串的第一个字符。

c

调用方提供的连续字符数(开头)和 iFirst 指定的字符(要为其返回宽度值)的计数。

pptqD

调用方提供的指针,指向以 (28.36、28.36) 格式接收字符宽度的 POINTQF 结构的 c 大小数组。 有关此数据类型的说明,请参阅 GDI 数据类型

返回值

如果操作成功,函数将返回 TRUE;否则返回 FALSE

注解

STROBJ_bGetAdvanceWidths 函数对于调用 STROBJ_bEnumPositionsOnly 而不是 STROBJ_bEnum 的打印机驱动程序很有用。 函数使用字符串字形的可能宽度填充 pptqD 数组,如果打印机的字形呈现硬件未返回确切的字符宽度,则可用于计算打印机呈现的字符串之后的打印机位置。

请注意, STROBJ_bEnumPositionsOnly 返回的字形位置不一定与STROBJ_bGetAdvanceWidths返回的宽度完全对应

要求

要求
最低受支持的客户端 适用于 Windows 2000 及更高版本的 Windows 操作系统。
目标平台 通用
标头 winddi.h (包括 Winddi.h)
Library Win32k.lib
DLL Win32k.sys

另请参阅

DrvTextOut

STROBJ

STROBJ_bEnum

STROBJ_bEnumPositionsOnly