描述
GetTabbedTextExtent函数计算字符串的宽度和高度。如果字符串包含一个或多个制表符,则字符串的宽度将基于指定的制表位。GetTabbedTextExtent功能使用当前选定的字体来计算字符串的尺寸。
C++ 语法
DWORD GetTabbedTextExtent( __in HDC hDC, __in LPCTSTR lpString, __in int nCount, __in int nTabPositions, __in const LPINT lpnTabStopPositions ); |
PowerBASIC 语法
FUNCTION GetTabbedTextExtentA ( _ BYVAL hdc AS DWORD, _ BYREF lpString AS ASCIIZ, _ BYVAL nCount AS LONG, _ BYVAL nTabPositions AS LONG, _ BYREF lpnTabStopPositions AS LONG _ ) AS DWORD |
Unicode版本:
FUNCTION GetTabbedTextExtentW ( _ BYVAL hdc AS DWORD, _ BYREF lpString AS WSTRINGZ, _ BYVAL nCount AS LONG, _ BYVAL nTabPositions AS LONG, _ BYREF lpnTabStopPositions AS LONG _ ) AS DWORD |
参数
hdc
[in]处理设备上下文。
lpString
[in]指向字符串的指针。
nCount
[in]指定文本字符串的长度。对于ANSI函数,它是BYTE计数,对于Unicode函数,它是一个WORD计数。请注意,对于ANSI函数,SBCS代码页中的字符各占一个字节,而DBCS代码页中的大部分字符都需要两个字节;对于Unicode功能,大多数当前定义的Unicode字符(基本多语言平面(BMP)中的Unicode字符)是一个WORD,而Unicode代理是两个WORDs.
Windows 95/98 / Me:此值不得超过8192。
nTabPositions
[in]指定lpnTabStopPositions参数指向的数组中的制表位数。
lpnTabStopPositions
[in]指向包含制表位置的数组的指针,以设备为单位。选项卡停止必须按增加的顺序排序;最小的x值应该是数组中的第一个项目。
返回值
如果函数成功,则返回值是以逻辑单位表示的字符串的维度。高度在高位字中,宽度在低位字中。
如果函数失败,返回值为0。如果hDC无效,并且nTabPositions小于0,则GetTabbedTextExtent将失败。
备注
当前剪辑区域不会影响GetTabbedTextExtent函数返回的宽度和高度。
因为某些设备不会将字符放置在常规单元格阵列中(也就是说,它们是字符),字符串中字符的范围之和可能不等于字符串的范围。
如果nTabPositions参数为零并且lpnTabStopPositions参数为NULL,则选项卡将展开为平均字符宽度的八倍。
如果nTabPositions为1,则选项卡停止将以由lpnTabStopPositions指向的阵列中的第一个值指定的距离分隔。
Windows 95/98 / Me:Microsoft Layer for Unicode支持GetTabbedTextExtentW.
引用文件 #INCLUDE Once
WinUser.inc(包括Windows.inc)