在棧上創建CPaintDC對象是良好的編程習慣,這樣當OnPaint結束時將自動調用他們的析構函數。如果用new操作符來實例化一個CPaintDC對象,在OnPaint結束之前刪除那個對象很重要。否則::EndPaint將不會被調用。
Visual C++有一種簡單的方法用來確定是否成功刪除了畫筆,畫刷和其他資源:只要在調試狀態下運行程序。在應用程序終止時,沒有釋放的資源會顯示在調試窗口中。
在最新版本的Windows中,允許GDI對象在設備描述表釋放的前一刻被刪除并沒有什么不好的影響,尤其是當你能確保在此期間沒有畫圖程序執行時更是如此。但是通過取消選定選入的對象而實現清除設備描述表仍然是Windows編程中的慣例。同時也是一種好習慣。