CDC::GetCharABCWidths

BOOL GetCharABCWidths(UNIT nFirstChar,UNIT nLastChar,LPABC lpabc) const;
BOOL GetCharABCWidths(UNIT nFirstChar,UNIT nLastChar,LPABCFLOAT lpABCF) const;

返回值:如果成功,则返回非零值,否则为0。

参数:
nFirstChar从已返回字体宽度的当前字体的字符集中指定首字符。
nLastChar从已返回字体宽度的当前字体的字符集中指定末字符。
lpabc函数返回时,指向接收字符宽度的ABC结构的数组的指针。该数组包含的ABC结构绝不能少于由nFirstChar与nLastChar确定的范围。
lpABCF带有应用提供的缓冲区中的ABCFLOAT结构的指针,当函数返回时,该结构接收字符宽度。函数返回的宽度以IEEE的浮点格式表示。

说明:
从当前指定的TrueType字体的连续字符中获得宽度值。宽度值用逻辑单位表示,该函数只用于TrueType字体。
TrueType光栅器在选定点尺寸后能提供“ABC”字符间距,“A”间距是在放入字符前在当前位置添加的距离,“B”间距是字符黑体部分的宽度,“C”间距是在当前位置上添加,用来作为字符右边空白空间的,总共宽度是A+B+C。
当GetCharABCWidths函数获得字符的A或C为负时,该字符可能还没有显示或已经被挂起。
要将ABC宽度值转为字体设计单位,应用应创建字体,使其高度(有LOGFONT结构的lfHeight成员指定)与存储在NEWTEXTMETRIC结构中ntmSizeEM成员的值相等(ntmSizeEM成员的值可通过调用Windows EnumFontFamilies函数得到)。
缺省字符的ABC宽度值用于当前选定字体中的其它超出选定范围的字符。
要获得非TrueType字体的字符宽度,应用应调用GetCharABCWidths成员函数。

请参阅:
::EnumFontFamilies, CDC::GetCharWidth, ::GetCharABCWidth, ::GetCharABCWidthFloat, ::GetCharWidthFloat