MFC控件设置图片

void ReleaseDisplayImg(CDialog* pDlg,int nID)
{
    HBITMAP hBitmap=((CStatic*)pDlg->GetDlgItem(nID))->GetBitmap();
    if(hBitmap) ::DeleteObject(hBitmap);
}

void SetDisplayImg(CDialog* pDlg,int nID,CString imgPath)
{
    CImage imgSrc;//原png图像对象
    CImage imgDes;//新建尺寸目标对象
    
    if(!imgPath.GetLength()) return;
    int w=231;
    int h=158;

    imgDes.Create(w,h,32);
    imgSrc.Load(imgPath);
    imgSrc.StretchBlt(imgDes.GetDC(),0,0,w,h);
    imgDes.ReleaseDC();
    ::ReleaseDisplayImg(pDlg,nID);//释放原位图资源
    HBITMAP hBitmap = imgDes.Detach();//获得位图句柄用以转换
    ((CStatic*)pDlg->GetDlgItem(nID))->SetBitmap(hBitmap);
    imgSrc.Destroy();
    imgDes.Destroy();
}


你可能感兴趣的:(MFC控件设置图片)