在Win98中,如果你的程序出现“必需的
资源无法得到”警告,想必是程序中
的GDI
资源没有释放,我想请问几个问题:
1 是不是所有的CGdiObject派生的类都要显示的释放gdi
资源,如
CBrush myBrush;
...
::DeleteObject(myBrush.Detach());
2 CDC 设备场景
资源如何释放?
CClientDC dc(this);
...
那么,dc要显式的释放吗?如何释放?
是 ReleaseDC(&dc) 吗?
1. CBrush myBrush;
...
CBrush * pOldBrush = pDC->
SelectObject(&myBrush);
pDC->
SelectObject(pOldBrush);//必须不在当前设备环境才能释放。
//DeleteObject
会在析构函数中自动调用,有了上句就
会自动释放。
2.
对于CClientDC
不需,析构函数自动调用。