函数功能:该函数取得当前字体里在一个指定范围里的连续字符的逻辑单位宽度。

    函数原型:BOOL GetCharABCWidthsFloat(HDC hdc, UINT iFirstChar, UINT iLastChar, LPABCFLOAT lpABCF);

    参数:

    hdc:设备环境句柄。

    iFirstChar:指定要寻求其ABC宽度的连续字符组的第一个字符的代码点。

    iLastChar:指定要寻求其ABC宽度的连续字符组的最后一个字符的代码点,这个范围是包含在内的。如果指定的最后一个字符先于指定的第一个字符,则将返回错误信息。

    lpABCF:指向含有ABCFLOAT结构数组的、应用程序定义的缓冲区的指针,该结构用于函数返回时接收字符宽度。

    返回值:如果函数调用成功,返回值非零;如果函数调用失败,返回值是0。

    Windows:若想获得更多错误信息,请调用GetLastError函数。

    备注:与函数GetCharABCWidths只返回TrueType字体的宽度不一样,GetCharABCWidthsFloat可为任何字体取得宽度。此函数返回的宽度是按IEEE浮点格式。

    如果没有标识当前的world-to-device转换,返回值可能是非零数值,即使相应的值在设备空间里是整数。

    A间隔是在放置字符之前加在当前位置的间隔。B间隔是指字符黑色部分的宽度。C间隔是指加到当前位置的间隔,用于给字符的右边提供空白。宽度总和由A+B+C给出。

    ABC间隔是沿着选字符体的字符基线来测量的,对那些超出当前选择字体范围的字符使用缺省字符的ABC宽度。

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