是否有必要在 DeleteObject() 之前调用 SelectObject()?
Is it necessary to call SelectObject() before DeleteObject()?
我有一个 HBITMAP
select 进入内存 DC。
我知道我应该在 HBITMAP
上调用 DeleteObject()
,然后再在内存 DC 上调用 DeleteDC()
,但是是否还需要使用 SelectObject()
来 select 在调用 DeleteObject()
?
之前将旧的 HBITMAP
放入内存 DC(因此 select 取出我想删除的 HBITMAP
)
是的,有必要;两个问题,如果你不这样做:
- DC原图会泄露
- 位图将被双重释放,因为 DC 在销毁时会尝试自行删除它
我有一个 HBITMAP
select 进入内存 DC。
我知道我应该在 HBITMAP
上调用 DeleteObject()
,然后再在内存 DC 上调用 DeleteDC()
,但是是否还需要使用 SelectObject()
来 select 在调用 DeleteObject()
?
HBITMAP
放入内存 DC(因此 select 取出我想删除的 HBITMAP
)
是的,有必要;两个问题,如果你不这样做:
- DC原图会泄露
- 位图将被双重释放,因为 DC 在销毁时会尝试自行删除它