getTabbedTextExtentA 函数 (winuser.h)
GetTabbedTextExtent 函数计算字符串的宽度和高度。 如果字符串包含一个或多个制表符,则字符串的宽度基于指定的制表位。 GetTabbedTextExtent 函数使用当前所选字体来计算字符串的尺寸。
语法
DWORD GetTabbedTextExtentA(
[in] HDC hdc,
[in] LPCSTR lpString,
[in] int chCount,
[in] int nTabPositions,
[in] const INT *lpnTabStopPositions
);
参数
[in] hdc
设备上下文的句柄。
[in] lpString
一个指向字符串的指针。
[in] chCount
文本字符串的长度。 对于 ANSI 函数,它是 BYTE 计数,对于 Unicode 函数,它是 WORD 计数。 请注意,对于 ANSI 函数,SBCS 代码页中的字符各采用一个字节,而 DBCS 代码页中的大多数字符采用两个字节;对于 Unicode 函数,当前定义的大多数 Unicode 字符 (基本多语言平面 (BMP) ) 中的字符都是一个 WORD,而 Unicode 代理项是两个 WORD。
[in] nTabPositions
lpnTabStopPositions 参数指向的数组中的制表位位置数。
[in] lpnTabStopPositions
指向包含制表位位置(以设备单位为单位)的数组的指针。 制表位必须按升序排列;最小的 x 值应该是数组中的第一项。
返回值
如果函数成功,则返回值是字符串的维度(以逻辑单元为单位)。 高度在高序字中,宽度在低位字中。
如果函数失败,返回值为 0。 如果 hDC 无效且 nTabPositions 小于 0,GetTabbedTextExtent 将失败。
注解
当前剪辑区域不会影响 GetTabbedTextExtent 函数返回的宽度和高度。
由于某些设备不会将字符放在常规单元格数组中, (也就是说,它们将字符) ,因此字符串中字符范围的总和可能不等于字符串的范围。
如果 nTabPositions 参数为零, lpnTabStopPositions 参数为 NULL,则选项卡将扩展为平均字符宽度的八倍。
如果 nTabPositions 为 1,则制表位由 lpnTabStopPositions 指向的数组中第一个值指定的距离分隔。
注意
winuser.h 标头将 GetTabbedTextExtent 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |