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 参数指定的字形索引的区数填充数组。 如果 lpnFitNULL,则该函数不计算部分字符串宽度。

[out] lpSize

指向 SIZE 结构的指针,该结构接收标志符号索引数组的维度(以逻辑单元为单位)。 此值不能为 NULL

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。

注解

如果 lpnFitalpDx 参数均为 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

另请参阅

字体和文本函数

字体和文本概述

GetTextExtentPoint

SIZE