tabbedTextOutW 函数 (winuser.h)

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

语法

LONG TabbedTextOutW(
  [in] HDC       hdc,
  [in] int       x,
  [in] int       y,
  [in] LPCWSTR   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,则选项卡将扩展到平均字符宽度的 8 倍。

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

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

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

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

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

注意

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

要求

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

另请参阅

DrawText

字体和文本函数

字体和文本概述

GetTabbedTextExtent

GrayString

SelectObject

SetBkColor

SetTextAlign

SetTextColor

TextOut