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 |