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

另请参阅

字体和文本函数

字体和文本概述

GetTextExtentPoint

GetTextExtentPoint32

SIZE

SetTextCharacterExtra