本帖最后由 weiwuyuan 于 2011-11-07 09:35:25 编辑

解决方案 »

  1.   

    可以.
    GetDC函数和ReleaseDC的方法,在程序窗口中画图非常方便。为了避免获取和释放设备描述表所带来的麻烦,MFC提供了一些CDC派生类,如CPaintDC,CClientDC,CWindowDC,这些类被设计为可直接进行实例化。各个类的构造函数和析构函数调用相应的函数捕获和释放设备描述表,从而使得更加方便简捷。
      

  2.   

    如果窗口用CS_OWNDC样式创建就可以,其它最好不要,要绘制时才GetDC。DC资源是有限的。
      

  3.   

    有没考虑到窗口拉伸,屏幕分辨率改变,主题切换之类的问题?
    需要的时候才GetDC,也不会影响什么效率,用户体验差个1秒不是问题
      

  4.   

    可以,在大小改变时,重新Get。
      

  5.   


    必须得重新GetDC()么? 以前获取的dc不能用了么?
      

  6.   

    貌似不行,如果是临时绘图,你GetDC取的是桌面DC,绘制完不释放的话,会绘到桌面上去。
      

  7.   

    DC为device context,它包含GDI需要的所有关于显示界面情况的描述字段,包括相连的物理设备和各种各样的状态信息.所以当屏幕分辨率更改后or其他,这时你要重新GetDC,这样才跟当前的状态一致呀,要不这样的话,你此时的DC的状态是之前获取的状态.
      

  8.   

    最好不要. 重新GetDC 从效率上来说没啥问题.