局部变量急需ReleaseDC

局部变量需要ReleaseDC?
void fun()
{
CDC *pdc = GetDC();
ReleaseDC(pdc);//需要吗
}

------解决方案--------------------
CWnd::GetDC 
CDC* GetDC( );

Return Value

Identifies the device context for the CWnd client area if successful; otherwise, the return value is NULL. The pointer may be temporary and should not be stored for later use.-------------------------------------------------
这个函数返回的可能是堆上创建的空间也可能是返回一个栈上已有的空间
为了不用开发人员自己去判断这里到底是怎么回事,这里GetDC( )会自己判断是
new一个对象还是返回一个已有对象
然后Release会根据GetDC的执行情况来选择是delete还是啥也不做
------解决方案--------------------
楼主不妨加一个按钮测试一下,如果不ReleaseDC(pdc),从任务管理器里看进程,你发现GDI对象每点一次按钮会增加的,GDI泄露,但GDI对象多到一定程度时,后果很严重。。。。。程序会死掉。。。。,你可以再加上ReleaseDC(pdc)测试一下,说到点子上了,楼主给分哈。
------解决方案--------------------
通常用 DeleteObject 就可以了。