程序是一个MFC对话框程序,在主界面放了一个pictureconctrol控件,通过StretchDIBits向这个控件的句柄画图。
图片两秒钟刷新一次。在期间,如果把一个窗体在图片上方拖动,就会造成图片被遮住部分的内容消失,直到下一次刷新才会显示。请问这是什么问题,该如何解决呢?

解决方案 »

  1.   

    估计你绘图时候用的DC不是Picture控件的DC
      

  2.   

    你有pictureconctrol为什么不用,它会帮你重画的。
    pictureconctrol m_Pic;
    m_Pic.SetBitmap(资源);
      

  3.   

    重画的内容是一个通过网络定时传过来的,隔两秒传一次。但是这两秒内,把一个窗口在图片上方拖动,再拖走就会产生被遮挡的地方变成空白,只有下次重画的时候才会重新填充。
    所以,是没法把图片放进资源的,而且用onpaint的话,会一直自动刷,感觉很没效率,cpu占用会比较高啊。
    坐等高手支招
      

  4.   

    试了一下onpaint中加入刷新代码,结果当拖一个窗体来遮挡的时候,不是每次都执行刷新呢
      

  5.   

    把画图的代码或函数
    放在OnPaint里面
      

  6.   

    设置透明试过了,不行。
    我在onpaint里加入了消息,触发了onpaint就发消息画图,但是打了断点的话,就能实现,没打断点都不是每次都执行,就是要把遮挡的窗体移动几次才会触发一次画图函数不知道怎么的