在一线程中
CDC* pDC = GetDC();
编译
error C2660: 'GetDC' : function does not take 0 parameters在非线程中却能正常工作.请问如何解决?
一定要得到设备句柄,因为我要画图

解决方案 »

  1.   

    GetDC()有几个形式,确认你自己没有用错CWnd::GetDC()HDC GetDC( HWND hWnd ); 
      

  2.   

    作用域的问题,在线程中是引入的全局函数GetDC(HWND),你可以在绘制时向线程发送消息WM_PAINT,把DC句柄作为参数传给线程,然后使用他绘图,就跟视图一样,要不就是把视图窗口的句柄发给线程
      

  3.   

    CDC* pDC = GetDC();
    编译
    error C2660: 'GetDC' : function does not take 0 parameters编译器已经提示明确了..
    需要参数..
    对于GetDC(HWND) 得到某个窗口的设备描述表 .然后你用该HDC 就可以在该窗口里画图了...
      

  4.   

    楼上说的很清楚啦如果函数是CWnd的继承类的函数,可以直接调用getDC()你的线程函数如果不是,那就调用全局的GetDC(HWND)