在做报表里,经常要把输出的内容进行错落有致的排列,让用户看起来更加舒服。比如使用标题的字体输出后,再使用其小号的字体进行输出。这样就需要知道每种字体的高度,才让两行文字输出不重叠在一起,就需要计算每种字体的高度。这时就需使用
GetTextMetrics
函数来获取字体的高度。
函数
GetTextMetrics
声明如下:
#ifndef NOTEXTMETRIC
WINGDIAPI BOOL WINAPI GetTextMetricsA( __in HDC hdc, __out LPTEXTMETRICA lptm);
WINGDIAPI BOOL WINAPI GetTextMetricsW( __in HDC hdc, __out LPTEXTMETRICW lptm);
#ifdef UNICODE
#define GetTextMetrics GetTextMetricsW
#else
#define GetTextMetrics GetTextMetricsA
#endif // !UNICODE
hdc
是当前设备的句柄。
lptm
是获取当前字体属性的保存结构。它的结构定义如下:
typedef struct tagTEXTMETRICW
{
LONG tmHeight;
LONG tmAscent;