C 如何正确释放GDI资源?
我试图理解如何正确地释放GDI资源,在阅读了许多GDI教程后,我认为这是如何做到的: 假设我创建了一个内存DC,并在其中创建和选择了许多GDI对象(C 如何正确释放GDI资源?,c,winapi,gdi,C,Winapi,Gdi,我试图理解如何正确地释放GDI资源,在阅读了许多GDI教程后,我认为这是如何做到的: 假设我创建了一个内存DC,并在其中创建和选择了许多GDI对象(HPEN,HBRUSH,HBITMAP,等等)。现在,为了释放GDI资源,我将执行以下操作: 将所有旧GDI对象选择到内存DC中(因此 选择所有新创建的GDI对象) 删除新创建的GDI对象 删除内存DC 请注意,第二步和第三步可以按相反顺序执行。即删除GDI对象的内存DC 如果我使用的是一个普通的DC(我使用GetDC()或BeginPaint())
HPEN
,HBRUSH
,HBITMAP
,等等)。现在,为了释放GDI资源,我将执行以下操作:
GetDC()
或BeginPaint()
),我会用释放DC来代替删除DC
我做对了吗,还是我遗漏了什么
GetDC()
或BeginPaint()
),我会用释放DC来代替删除DC
那么,GetDC
将与ReleaseDC
匹配,BeginPaint
将与EndPaint
匹配。对于GetDC
,请注意以下内容:
使用公共DC绘制后,必须调用ReleaseDC函数来释放DC。类和专用DC不必发布