我的代码:
HDC hDC;
hDC=GetDC();
...
ReleaseDC(hDc);Error: cannot convert from 'class CDC *' to 'struct HDC__ *'
请问这该如何解决?
谢谢。

解决方案 »

  1.   

    第一种:
    CDC *pDC = GetDC();
    ...
    ReleaseDC(pDC);
    第二种:
    HDC hDC;
    hDC = GetDC()->m_hDC;
    ...
      

  2.   

    CDC *pDC;
    pDC = GetDC();
    ...
    ReleaseDC(pDC)
      

  3.   

    谢谢各位大侠。但我还是不明白,我曾看到过有的范例这样使用的。快乐鹦鹉大侠,你教的GetDC是正确的,那ReleaseDC呢?
    还有,我查MSDN,里面有CWnd::GetDC()和CWindow::GetDC(),请问有什么区别?
      

  4.   

    CWindow是ATL(活动模板库)中的类,CWnd是MFC(微软基础类库)中的类.
    HDC是系统资源,用完后需要释放,释放就是调用ReleaseDC()
      

  5.   

    那SelectPalette(hDc,hPalette,FALSE),RealizePalette(hDc)中的hDC应该申明成什么?
    HDC还是CDC*?好像CDC不行的。
      

  6.   

    但是还有问题:ReleaseDC(hDc)
    Error:cannot convert parameter 1 from 'struct HDC__ *' to 'class CDC *'
    真是郁闷。还请大侠指教。谢谢。
      

  7.   

    HDC类型不能用ReleaseDC释放。ReleaseDC只能释放CDC指针!!!
      

  8.   

    int ReleaseDC(
      HWND hWnd,  // handle to window
      HDC hDC     // handle to DC
    );
      

  9.   

    谢谢,我还是不会(太笨了)!
    那应该是这样吗?ReleaseDC(hWnd,hDC)?
      

  10.   

    终于解决了,同实验室哥们这是厉害.
    ::Release(NULL,hDC);
    结帖庆祝ing.
      

  11.   

    ::ReleaseDC(NULL,hDC);吧 呵呵