Winapi 您真的需要放回原始设备上下文位图,还是只需将其切换并删除原始设备上下文位图就可以了?
如果我创建一个内存设备上下文Winapi 您真的需要放回原始设备上下文位图,还是只需将其切换并删除原始设备上下文位图就可以了?,winapi,gdi,Winapi,Gdi,如果我创建一个内存设备上下文CreateCompatibleDC(),然后SelectObject()为它创建一个位图。我可以只DeleteObject()通过SelectObject()返回的旧位图,然后让设备上下文删除我创建的位图吗?或者我必须保留旧位图,然后在不再需要时(析构函数)选择旧位图并删除我创建的位图吗?保存一个永远不会被使用的位图似乎是在浪费内存 蒂娅 不,您不能只删除旧位图,因为您不拥有它(即,您没有创建它),您也不知道谁拥有它(即,系统)。因此,是的,在HDC中使用新位图后,
CreateCompatibleDC()
,然后SelectObject()
为它创建一个位图。我可以只DeleteObject()
通过SelectObject()
返回的旧位图,然后让设备上下文删除我创建的位图吗?或者我必须保留旧位图,然后在不再需要时(析构函数)选择旧位图并删除我创建的位图吗?保存一个永远不会被使用的位图似乎是在浪费内存
蒂娅 不,您不能只删除旧位图,因为您不拥有它(即,您没有创建它),您也不知道谁拥有它(即,系统)。因此,是的,在HDC中使用新位图后,必须将旧位图恢复到HDC中