TEXTMETRICW 结构记录

if( flags == DT_RIGHT ) 
{
SIZE Size = {0,0};
TEXTMETRICW temp;
if (font->GetTextMetricsW(&temp) == S_OK)
{
Size.cx = temp.tmMaxCharWidth;
Size.cy = temp.tmDigitizedAspectY
x -= Size.cx;
}
flags = 0;
} else if( flags == DT_CENTER )
{
SIZE Size = {0,0};
TEXTMETRICW temp;
if (font->GetTextMetricsW(&temp) == S_OK)
{
x -= (Size.cx/2);
}
flags = 0;
}

gTEXTMETRIC { // tm 
    LONG tmHeight;                  //字符高度
    LONG tmAscent;                  //字符上部高度(基线以上)
    LONG tmDescent;                 //字符下部高度(基线以下)
    LONG tmInternalLeading;         //由tmHeight定义的字符高度的顶部空间数目
    LONG tmExternalLeading;         //加在两行之间的空间数目
    LONG tmAveCharWidth;            //平均字符宽度
    LONG tmMaxCharWidth;            //最宽字符的宽度
    LONG tmWeight;                  //字体的粗细轻重程度
    LONG tmOverhang;                //加入某些拼接字体上的附加高度
    LONG tmDigitizedAspectX;        //字体设计所针对的设备水平方向
    LONG tmDigitizedAspectY;        //字体设计所针对的设备垂直方向
    BCHAR tmFirstChar;              //为字体定义的第一个字符
    BCHAR tmLastChar;               //为字体定义的最后一个字符
    BCHAR tmDefaultChar;            //字体中所没有字符的替代字符
    BCHAR tmBreakChar;              //用于拆字的字符
    BYTE tmItalic;                  //字体为斜体时非零
    BYTE tmUnderlined;              //字体为下划线时非零
    BYTE tmStruckOut;               //字体被删去时非零
    BYTE tmPitchAndFamily;          //字体间距(低4位)和族(高4位)
    BYTE tmCharSet;                 //字体的字符集
} TEXTMETRIC;

原文地址:https://www.cnblogs.com/x-poior/p/4964255.html