TabbedTextOutA 函数 (winuser.h)

TabbedTextOut 函数在指定位置写入字符串,将制表符扩展到制表位位置数组中指定的值。 文本以当前所选字体、背景色和文本颜色编写。

语法

LONG TabbedTextOutA(
  [in] HDC       hdc,
  [in] int       x,
  [in] int       y,
  [in] LPCSTR    lpString,
  [in] int       chCount,
  [in] int       nTabPositions,
  [in] const INT *lpnTabStopPositions,
  [in] int       nTabOrigin
);

参数

[in] hdc

设备上下文的句柄。

[in] x

字符串起点的 x 坐标(以逻辑单位为单位)。

[in] y

字符串起点的 y 坐标(以逻辑单位表示)。

[in] lpString

指向要绘制的字符串的指针。 该字符串不需要为零终止,因为 nCount 指定字符串的长度。

[in] chCount

lpString指向的字符串 长度。

[in] nTabPositions

制表位位置数组中的值数。

[in] lpnTabStopPositions

指向包含制表位位置的数组的指针,以逻辑单元表示。 制表位必须按递增顺序排序;最小 x 值应为数组中的第一项。

[in] nTabOrigin

在逻辑单元中展开选项卡的起始位置的 x 坐标。

返回值

如果函数成功,则返回值为字符串的维度(以逻辑单位为单位)。 高度为高阶单词,宽度为低序单词。

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

言论

如果 nTabPositions 参数为零,并且 lpnTabStopPositions 参数 NULL,则选项卡将扩展到平均字符宽度的八倍。

如果 nTabPositions 为 1,则制表位由 lpnTabStopPositions 数组中的第一个值指定的距离分隔。

如果 lpnTabStopPositions 数组包含多个值,则会为数组中的每个值设置制表位,最多为 nTabPositions指定的数字。

nTabOrigin 参数允许应用程序对单个行多次调用 TabbedTextOut 函数。 如果应用程序每次调用 TabbedTextOut 多次,nTabOrigin 设置为同一值,则函数将相对于 nTabOrigin指定的位置展开所有选项卡。

默认情况下,TabbedTextOut 函数不使用或更新当前位置。 如果应用程序在 调用 tabbedTextOut时需要更新当前位置,则应用程序可以使用设置为 TA_UPDATECP 的 wFlags 参数调用 SetTextAlign 函数。 设置此标志后,系统会使用当前位置在对 TabbedTextOut 函数的后续调用时忽略 XY 参数。

注释 Windows Vista 及更高版本,TabbedTextOut 在绘制文本时忽略文本对齐方式。
 

注意

winuser.h 标头将 TabbedTextOut 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 winuser.h (包括 Windows.h)
User32.lib
DLL User32.dll
API 集 ext-ms-win-ntuser-misc-l1-5-1(在 Windows 10 版本 10.0.14393 中引入)

另请参阅

DrawText

字体和文本功能

字体和文本概述

GetTabbedTextExtent

GrayString

SelectObject

SetBkColor

SetTextAlign

SetTextColor

TextOut