下面是一个简单的示例,演示如何使用 GetOutputTextMetrics 方法:
CDC dc; // 假设已经创建了设备上下文对象
// 设置字体
CFont font;
font.CreatePointFont(120, _T("Arial"));
dc.SelectObject(&font);
// 获取文本度量信息
TEXTMETRIC tm;
dc.GetOutputTextMetrics(&tm);
// 输出文本度量信息
TRACE(_T("Ascent: %d\n"), tm.tmAscent);
TRACE(_T("Descent: %d\n"), tm.tmDescent);
TRACE(_T("Internal Leading: %d\n"), tm.tmInternalLeading);
TRACE(_T("External Leading: %d\n"), tm.tmExternalLeading);
TRACE(_T("Average Character Width: %d\n"), tm.tmAveCharWidth);
TRACE(_T("Max Character Width: %d\n"), tm.tmMaxCharWidth);
TRACE(_T("Height: %d\n"), tm.tmHeight);
TRACE(_T("Overhang: %d\n"), tm.tmOverhang);
TRACE(_T("Digitized Aspect X: %d\n"), tm.tmDigitizedAspectX);
TRACE(_T("Digitized Aspect Y: %d\n"), tm.tmDigitizedAspectY);
TRACE(_T("First Character: %d\n"), tm.tmFirstChar);
TRACE(_T("Last Character: %d\n"), tm.tmLastChar);
TRACE(_T("Default Character: %d\n"), tm.tmDefaultChar);
TRACE(_T("Break Character: %d\n"), tm.tmBreakChar);
TRACE(_T("Italic Angle: %d\n"), tm.tmItalic);
TRACE(_T("Underline Position: %d\n"), tm.tmUnderlined);
TRACE(_T("Underline Thickness: %d\n"), tm.tmStruckOut);
TRACE(_T("Pitch and Family: %d\n"), tm.tmPitchAndFamily);
TRACE(_T("Char Set: %d\n"), tm.tmCharSet);
在这个示例中,首先设置字体并选择它到设备上下文。然后,调用 GetOutputTextMetrics 方法来获取文本度量信息。TEXTMETRIC 结构包含了各种有关字体和文本的信息,你可以根据需要使用这些信息进行后续处理。请注意,tm 结构中的值是以逻辑单位为单位的。
转载请注明出处:http://www.pingtaimeng.com/article/detail/17121/MFC/CDC