自绘控件时,在OnDrawItem的参数中有一个hdc,通过这个句柄可以得到CDC指针
CDC * pdc = CDC::FromHandle(lpDrawItem->hdc);当使用完这个pdc之后,是否应该将其释放,如果释放的话如何释放?

解决方案 »

  1.   

    以上各位答的都不对.不是"可以不释放",而是"不可以释放". FromHandle 是通过 HDC 来创建了一个 CDC 对象,以方便操作,释放 DC 的操作应该针对于 HDC 而非此 CDC , 如果释放了它 pDC->ReleaseDC ,就会造成隐患.HDC hDC = GetDC(hWnd);
    CDC *pDC = CDC::FromHandle(hDC);这两者是指向的一个DC对象,只能释放一次,而这个释放应该针对 hDC 而非 pDC. 完毕.
      

  2.   

    同意 Typhone(Typhone) ( ) 信誉:99