TabbedTextOut函数在指定位置写入一个字符串,将制表符扩展为一个tab-stop位置数组中指定的值。文本以当前选定的字体编写。
LONG TabbedTextOut(
HDC 【hDC】, | //设备上下文的句柄 |
INT 【X】, | //起始位置的x坐标 |
INT 【Y】, | //起始位置的y坐标 |
LPCTSTR 【lpString】, | //字符串的地址 |
INT 【NCOUNT】, | //字符串中的字符数 |
INT 【nTabPositions】, | //数组中的选项卡数 |
LPINT 【lpnTabStopPositions】, | //选项卡位置数组的地址 |
INT 【nTabOrigin】 | //标签扩展的x坐标 |
); |
参数
【hDC】
标识设备上下文。
【X】
以逻辑单位指定字符串起始点的x坐标。
【Y】
以逻辑单位指定字符串起始点的y坐标。
【lpString】
指向要绘制的字符串。字符串不需要为零终止,因为【NCOUNT】指定字符串的长度。
【NCOUNT】
指定字符串中的字符数。
【nTabPositions】
指定tab-stop位置数组中的值的数量。
【lpnTabStopPositions】
指向包含制表位置的数组,以设备为单位。选项卡停止必须按增加的顺序排序;最小的x值应该是数组中的第一个项目。
Windows 95:可以将选项卡停止指定为负值,这将导致文本在制表位停止而不是左对齐处于右对齐状态。
【nTabOrigin】
以逻辑单位指定扩展标签的起始位置的x坐标。
返回值
如果函数成功,则返回值是字符串的逻辑单位的维度。高度在高位字中,宽度在低位字中。
备注
如果【nTabPositions】参数为零,并且【lpnTabStopPositions】参数为NULL,则选项卡将展开为平均字符宽度的八倍。
如果【nTabPositions】为1,则选项卡停止以【lpnTabStopPositions】数组中第一个值指定的距离分隔。
如果【lpnTabStopPositions】数组包含多个值,则会为数组中的每个值设置一个制表符停止,最多为【nTabPositions】指定的数字。
【nTabOrigin】参数允许应用程序为单行调用TabbedTextOut函数多次。如果应用程序多次调用TabbedTextOut,每次将【nTabOrigin】设置为相同的值,该函数会相对于【nTabOrigin】指定的位置扩展所有选项卡。
默认情况下,当前位置不被TabbedTextOut功能使用或更新。如果应用程序在调用TabbedTextOut时需要更新当前位置,则应用程序可以将【wFlags】参数设置为TA_UPDATECP来调用SetTextAlign函数。当设置此标志时,Windows会使用当前位置忽略后续调用TabbedTextOut函数的【X】和【Y】参数。
也可以看看
DrawText, GetTabbedTextExtent, GrayString, SetTextAlign, TextOut