### 函数功能

该函数计算一个字符串的宽度和高度。如果字符串含有一个或多个制表符，则字符串的宽度基于指定的制表位。GetTabbedTextExtent用当前所选的字体来计算字符串的尺寸。
函数原理：DWORD GetTabbedTextExtent(HDC hdc, LPCTSTR lpString, nCount, nTabPositions, LPINT lpnTabStopPositions)；

### 参数

hDC：设备环境句柄。
lpString：指向字符串的指针。
nCount：指定正文字符串中的字符数。
nTabPositions：指定lpnTabStopPositions指向的数组中制表位位置的个数。
lpnTabStopPositions：指向含有制表位位置的数组指针，（按设备单位）。制表位必须按升序排列，最小的X值应是数组中的第一项。

### 返回值

如果函数调用成功，返回值是字符串的尺寸。高度放于高位字，宽度位于低位字，如果函数调用失败，返回值是0，如果hDC无效或nTabPositionsn小于0都将使TabPositions调用失败。
Windows NT： 若想获得更多错误信息，请调用GetLastError函数。
备注：当前的裁剪不影响GetTabbedTextExtent返回的宽度和高度。
由于有的设备并不将字符放于规则的单元数组里（即紧缩字距），故一个字符中字符的宽度和或许并不等于字符串的宽度。
如果参数nTabPositions的值为0且lpntabStopPositions为NULL，则制表符被扩展为平均字符宽度的8倍。如果nTabPositions的值为1，则制表位被lpnTabStopPositions指向的数组的第一个间隔值分开。

### 速查

Windows NT：3.1及以上版本；Windows：95及以上版本；Windows CE：不支持；头文件：wingdi.h；库文件：gdi32.lib；Unicode：在Windows NT环境下实现为Unicode和ANSI两种版本。