通过CDC获取 HDC

通过CDC获取HDC

通过CDC(设备描述表)获取HDC(设备上下文句柄)的方法:

//第一种
void ...::OnDraw(CDC *pDC)
{
    ......

    HDC hDC=pDC->GetSafeHdc();    
}

//第二种

HDC hDC=this->GetDC()->GetSafeHdc();

//...

如果用VS的断点调试查看此时hDC(或 pDC->m_hDC)的值会发现无法读取内存,但这不影响什么,我们已经获取到了 hDC 了,之所以无法读取内存只因为它是一个指针,它的值是一个地址,所以无法获取。

原文地址:https://www.cnblogs.com/SilentCode/p/5343734.html