无模式对话框内存泄漏
我创建了如下对话框(用的是VS2005)
CLookupDlg *cDlg=new CLookupDlg;
cDlg->Create(IDD_LOOKUP_DIALOG,NULL);
cDlg->ShowWindow(SW_SHOW);
并通过以下方式销毁
void CLookupDlg::OnCancel()
{
CDialog::OnCancel();
DestroyWindow();
}
void CLookupDlg::OnOK()
{
CDialog::OnOK();
DestroyWindow();
}
void CLookupDlg::OnDestroy()
{
CDialog::OnDestroy();
delete this;
}
但是关闭对话框后内存却没释放
另外我的OnPaint函数如下,不知是否与此有关:
void CLookupDlg::OnPaint()
{
HRGN hRgn = NULL;
::GetWindowRgn(m_hWnd,hRgn);
DeleteObject(hRgn);
CRect rc;
this->GetClientRect(&rc);
hRgn=CreateRoundRectRgn(5,5,rc.right-rc.left-10,rc.bottom-rc.top-10,16,16);
::SetWindowRgn(m_hWnd,hRgn,TRUE);
CPaintDC pdc(this);
CBitmap bitmap1,*pbitmap1;
bitmap1.LoadBitmap(IDB_BACKGD2_BITMAP);
CDC dc1;
dc1.CreateCompatibleDC(&pdc);
pbitmap1=dc1.SelectObject(&bitmap1);
CRect rect;
GetClientRect(&rect);
pdc.BitBlt(rect.left-2,rect.top-2,rect.right-rect.left+10,rect.bottom-rect.top+10,&dc1,0,0,SRCCOPY);
dc1.SelectObject(pbitmap1);
bitmap1.DeleteObject();
DeleteObject(hRgn);
this->ReleaseDC(&dc1);
//CDialog::OnPaint();
}
请各位大虾帮忙