MFC 获取字符串像素高度和宽度

时间:2022-08-22 22:29:27

方法一:

// 取文本的尺寸
CRect rc;
CFont *pOldfont=pdc->SelectObject(&fn); // 设置新字体
pDC->DrawText(L"一二三", rc, DT_CALCRECT);

方法二:

void CDrawPic::AccountStr(CDC *pdc,
int &width, // 字串宽度(像素)
int &height, // 字串高度(像素)
CString str, // 字串
int size, // 字体大小
CString font) // 字体名
{
CSize txtpot;
CFont fn;
fn.CreatePointFont(
size,(LPCTSTR)font);
CFont *pOldfont=pdc->SelectObject(&fn); // 设置新字体

txtpot=pdc->GetTextExtent(
str); // 字串的长度像素
width=txtpot.cx;
height=txtpot.cy;
pdc->SelectObject(pOldfont);
}

这些方法也是从网上搜罗的,暂时没有实验是否可用