DeleteDC() und DeleteObject() nötig?
-
Hi!
Wenn ich innerhalb einer Funktion einen CDC und eine CBitmap folgendermaßen erzeuge
CDC dcMem; dcMem.CreateCompatibleDC(pDC); CBitmap bmpMem; bmpMem.CreateCompatibleBitmap(pDC, m_zoomRect->Width(), m_zoomRect->Height()); CBitmap *bmpMemOld = dcMem.SelectObject(&bmpMem);
Muss ich diese am Ende der Funktion löschen?
dcMem.SelectObject(bmpMemOld); bmpMem.DeleteObject(); dcMem.DeleteDC();
Oder macht das der jeweilige Destruktor, so dass ich nur noch die alte CBitmap selektieren muss?
dcMem.SelectObject(bmpMemOld);
-
Die Destruktoren räumen auf. Du musst nur die alte Bitmap wieder selektieren sonst gibt es Leaks.
-
Vielen Dank!