DeleteDC
如果一个设备上下文环境的句柄是通过调用GetDC函数得到的,那么应用程序不能删除该设备上下文环境,它应该调用ReleaseDC函数来释放该设备上下文环境。
ReleaseDC
每次调用GetWindowDC和GetDC函数检索公用设备上下文环境之后,应用程序必须调用ReleaseDC函数来释放设备上下文环境。
应用程序不能调用ReleaseDC函数来释放由CreateDC、CreateCopatibleDC 函数创建的设备上下文环境,只能使用DeleteDC函数。
DeleteObject
该函数删除一个逻辑笔、画笔、字体、位图、区域或者调色板,释放所有与该对象有关的系统资源,在对象被删除之后,指定的句柄也就失效了。
当一个绘画对象(如笔或画笔)当前被选入一个设备上下文环境时不要删除该对象。当一个调色板画笔被删除时,与该画笔相关的位图并不被删除,该图必须单独地删除。
============================================================================
C++编程中,支持使用new操作符动态申请一块内存,但一定要在应用程序结束之前使用delete操作符释放内存,否则将造成内存溢出。这对于嵌入式设备中有限的内存更是至关重要。
[::] delete cast-expression
[::] delete [ ] cast-expression
new和delete结合着使用,如:
CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;
int* set = new int[100];
//use set[]
delete [] set;
·DeleteObject
Deleteobject与SelectObject结合着使用,在GDI对象使用完之后,释放GDI对象所关联的内存。需要注意的是:CGdiObject类的对象所关联的内存不能够使用Deleteobject函数来释放。
·ReleaseDC
每次成功调用GetWindowDC或者GetDC之后,最终都要调用ReleaseDC来释放DC。
·DeleteDC
这个函数通常用来删除由CreateDC或者CreateCompatibleDC建立的DC资源,需要注意的是,如果有GDI对象被选入了某个device context,那么这时候不要使用DeleteDC来删除该DC。