得到字体高度,宽度
// CFont font;
LOGFONT lf;
font.GetLogFont(&lf);
发现通过这种方法,只能得到字体高度,宽度为0
可是我需要知道确定的字体高度
后在网上找到了一种方法
CPaintDC dc(this); // device context for painting
CFont* pOldFont = dc.SelectObject(&font); // font为要得其高宽的字体
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
int nFontHeight = tm.tmHeight; // 字体高度
int nExternal = tm.tmExternalLeading; // 估计是行距
字体宽度如何计算?据说字体宽度由高度决定,我没找到具体如何得到字体宽度,但是可以用如下方法得到显示问题的总宽度
CSize size;
size = dc.GetTextExtent(m_strNote,strlen(m_strNote));
int nWidth = size.cx; // 得到显示m_strNote的总宽度
dc.SelectObject(pOldFont);
DeleteObject(font);