我在CView派生类的OnInitialUpdate用pDC->SetMapMode设置了映射模式,pDC是由GetDC()得到的,为什么在Ondraw中还要设置一次,否则映射模式没有改变。难道该DC和OnDraw的DC不一致?附加问一下GetDc得到的DC指针是不是最后还要调ReleaseDC().

解决方案 »

  1.   

    那可能是在OnPrepareDC修改了MAP Mode.设置映射模式应该在OnPrepareDC,而不是在OnDraw中。
      

  2.   

    不是打印程序,只是一个在view上绘图的程序。
      

  3.   

    难道该DC和OnDraw的DC不一致?附加问一下GetDc得到的DC指针是不是最后还要调ReleaseDC().GetDC得到的好像是临时的,如果你改变mode,应该对同一个pDC来操作,如果再用了GetDC,就无效了。
    我通常没用国releasedc,,不知道算不算错误。