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

方法一:

// 取文本的尺寸
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);
}

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

你可能感兴趣的:(MFC)