这段代码中有资源泄漏现象吗?
void CImageStatic::OnPaint()
{
CPaintDC dc(this); // device context for painting
if(hbitmap == NULL)
{
GetClientRect(&lRect);
lRect.NormalizeRect();
dc.FillSolidRect(&lRect , RGB(0xfe ,0xfe ,0xfe));
CFont font,*oldfont;
//创建字体
font.CreateFont(12,
0,0,0,FW_BOLD,0,0,0,GB2312_CHARSET,
OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,
VARIABLE_PITCH|FF_SWISS,_T("宋体"));
oldfont=dc.SelectObject(&font);
dc.DrawText("无照片" , &lRect , DT_CENTER | DT_VCENTER | DT_SINGLELINE );
//释放字体
dc.SelectObject(oldfont);
font.DeleteObject();
}
else
{
//获取图片格式
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap *poldBitmap=(CBitmap*)dcMem.SelectObject(hbmp);
GetClientRect(&lRect);
lRect.NormalizeRect();
//显示位图
dc.StretchBlt(lRect.left ,lRect.top ,lRect.Width(),lRect.Height(),
&dcMem,0 ,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMem.SelectObject(&poldBitmap);
}
// TODO: Add your message handler code here
// Do not call CStatic::OnPaint() for painting messages
}