其实不然 是OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)导致gdi对象不断增加
HBRUSH TGADLg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
if (m_hr!=NULL)
{
DeleteObject((HGDIOBJ)m_hr);
m_hr = NULL;
}
if (ID_EDIT_TEXTTGA == pWnd->GetDlgCtrlID())
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(182,182,182));
pDC->SetBkColor(RGB(45,45,45));
m_hr = CreateSolidBrush(RGB(45,45,45));
return m_hr;
}
return hbr;
}
这样修改就可以了