函数功能:该函数计算一个字符串的宽度和高度。如果字符串含有一个或多个制表符,则字符串的宽度基于指定的制表位。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两种版本。