下面是一段使字体加粗的代码,但在调试中总是发现有内存泄漏问题,多次运行会产生异常。请大家帮忙看看。
void SetStaticTextStatus(CString sMesg,UINT nId,UINT status)
{
GetDlgItem(nId)->SetWindowText(sMesg);
CDC *pDC = GetDC();
CFont *pfont =GetDlgItem(nId)->GetFont();
LOGFONT lgft;
pfont->GetLogFont (&lgft);
CFont font;
lgft.lfWeight=status;//******** font.CreateFontIndirect(&lgft); // Create the font.
CFont *pOldFont=pDC->SelectObject(&font);
GetDlgItem(nId)->SetFont (&font);
pfont->DeleteObject();
font.DeleteObject();
pOldFont->DeleteObject();
ReleaseDC(pDC);
}
void SetStaticTextStatus(CString sMesg,UINT nId,UINT status)
{
GetDlgItem(nId)->SetWindowText(sMesg);
CDC *pDC = GetDC();
CFont *pfont =GetDlgItem(nId)->GetFont();
LOGFONT lgft;
pfont->GetLogFont (&lgft);
CFont font;
lgft.lfWeight=status;//******** font.CreateFontIndirect(&lgft); // Create the font.
CFont *pOldFont=pDC->SelectObject(&font);
GetDlgItem(nId)->SetFont (&font);
pfont->DeleteObject();
font.DeleteObject();
pOldFont->DeleteObject();
ReleaseDC(pDC);
}
GetDlgItem(nId)->SetFont (&font);
这个没有作用