getTextExtentExPointI 函数 (wingdi.h)
GetTextExtentExPointI 函数检索指定字符串中适合指定空格的字符数,并使用其中每个字符的文本范围填充数组。 (文本范围是空格的开头与空间中适合的字符之间的距离。) 此信息对换行计算很有用。
语法
BOOL GetTextExtentExPointI(
[in] HDC hdc,
[in] LPWORD lpwszString,
[in] int cwchString,
[in] int nMaxExtent,
[out] LPINT lpnFit,
[out] LPINT lpnDx,
[out] LPSIZE lpSize
);
参数
[in] hdc
设备上下文的句柄。
[in] lpwszString
指向要检索其范围的字形索引数组的指针。
[in] cwchString
pgiIn 参数指向的数组中的字形数。
[in] nMaxExtent
格式化字符串允许的最大宽度(以逻辑单位为单位)。
[out] lpnFit
指向整数的指针,该整数接收将容纳在 nMaxExtent 参数指定的空格中的最大字符数的计数。 当 lpnFit 参数为 NULL 时,将忽略 nMaxExtent 参数。
[out] lpnDx
指向接收部分字形范围的整数数组的指针。 数组中的每个元素都提供字形索引数组的开头和适合 nMaxExtent 参数指定空间的标志符号之一之间的距离(以逻辑单元为单位)。 尽管此数组的元素数至少应与 cgi 参数指定的字形索引数量相同,但函数仅使用 lpnFit 参数指定的字形索引的区数填充数组。 如果 lpnFit 为 NULL,则该函数不计算部分字符串宽度。
[out] lpSize
指向 SIZE 结构的指针,该结构接收标志符号索引数组的维度(以逻辑单元为单位)。 此值不能为 NULL。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。
注解
如果 lpnFit 和 alpDx 参数均为 NULL,则调用 GetTextExtentExPointI 函数等效于调用 GetTextExtentPointI 函数。
当此函数返回文本范围时,它假定文本水平,即转义始终为 0。 这适用于文本的水平和垂直度量。 即使使用指定非零转义符的字体,此函数也不会在计算文本范围时使用角度。 应用必须显式转换它。 但是,当图形模式设置为 GM_ADVANCED 并且字符方向与打印方向为 90 度时,此函数返回的值不遵循此规则。 当给定字符串的字符方向和打印方向匹配时,此函数在 SIZE 结构中返回字符串的尺寸为 { cx : 116, cy : 18 }。 如果同一字符串的字符方向和打印方向相距 90 度,则此函数返回 SIZE 结构中字符串的尺寸为 { cx : 18, cy : 116 }。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |