getTextExtentPointI 函数 (wingdi.h)
GetTextExtentPointI 函数计算指定字形索引数组的宽度和高度。
语法
BOOL GetTextExtentPointI(
[in] HDC hdc,
[in] LPWORD pgiIn,
[in] int cgi,
[out] LPSIZE psize
);
参数
[in] hdc
设备上下文的句柄。
[in] pgiIn
指向字形索引数组的指针。
[in] cgi
指定字形索引的数量。
[out] psize
指向 SIZE 结构的指针,该结构接收字符串的维度(以逻辑单元为单位)。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。
注解
GetTextExtentPointI 函数使用当前所选字体来计算字形索引数组的尺寸。 宽度和高度(以逻辑单元为单位)是在不考虑任何剪裁的情况下计算的。
当此函数返回文本范围时,它假定文本水平,即转义始终为 0。 这适用于文本的水平和垂直度量。 即使使用指定非零转义符的字体,此函数也不会在计算文本范围时使用角度。 应用必须显式转换它。 但是,当图形模式设置为 GM_ADVANCED 并且字符方向与打印方向为 90 度时,此函数返回的值不遵循此规则。 当给定字符串的字符方向和打印方向匹配时,此函数在 SIZE 结构中返回字符串的尺寸为 { cx : 116, cy : 18 }。 如果同一字符串的字符方向和打印方向相距 90 度,则此函数返回 SIZE 结构中字符串的尺寸为 { cx : 18, cy : 116 }。
由于某些设备包含字符,因此各个字形索引的范围之和可能不等于整个字形索引数组的范围。
计算的字符串宽度考虑 SetTextCharacterExtra 函数设置的字符间间距。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |