在Win98中,如果你的程序出現(xiàn)“必需的
資源無法得到”警告,想必是程序中
的GDI
資源沒有釋放,我想請問幾個問題:
1 是不是所有的CGdiObject派生的類都要顯示的釋放gdi
資源,如
CBrush myBrush;
...
::DeleteObject(myBrush.Detach());
2 CDC 設(shè)備場景
資源如何釋放?
CClientDC dc(this);
...
那么,dc要顯式的釋放嗎?如何釋放?
是 ReleaseDC(&dc) 嗎?
1. CBrush myBrush;
...
CBrush * pOldBrush = pDC->
SelectObject(&myBrush);
pDC->
SelectObject(pOldBrush);//必須不在當(dāng)前設(shè)備環(huán)境才能釋放。
//DeleteObject
會在析構(gòu)函數(shù)中自動調(diào)用,有了上句就
會自動釋放。
2.
對于CClientDC
不需,析構(gòu)函數(shù)自動調(diào)用。