更新时间:2023-02-16 20:07:42
必须先从 HDC
中取消选择位图,然后才能销毁它,否则会泄漏它.它是这样的:
You must de-select the bitmap from HDC
before you can destroy it, otherwise you are leaking it. It goes like this:
HBITMAP hBmp = CreateCompatibleBitmap(...);
HBITMAP previousBitmap = (HBITMAP)SelectObject(bitmapDC, hBmp);
// ...
SelectObject(bitmapDC, previousBitmap);
DeleteObject(hBmp);
此外,您调用 GetDC(0)
但不保存返回值,因此您不能 ReleaseDC
它.另外,bitmapDC
是由 CreateCompatibleDC
创建的,应该用 DeleteObject
删除,而不是 ReleaseDC
.
Also, you call GetDC(0)
but don't save the return value so you can't ReleaseDC
it. Also, bitmapDC
is created by CreateCompatibleDC
, and should be deleted with DeleteObject
, not ReleaseDC
.