1》我在MFC工程中给主窗口潜入了一个子窗口,该子窗口用来显示jpg图片,我想要连续显示图片的时候。子窗口的背景不刷新。
2》我在重绘图片的时候,如何设置父窗口先刷新,之后子窗口在刷新。

解决方案 »

  1.   

    像LS说的, 采用双缓冲
    你的图片显示子控件 响应WM_ERASEBKGND消息, 返回TRUE, 什么都不干
    所有的操作都放到WM_PAINT里面做(用双缓冲)
      

  2.   

    给子窗口加上透明样式就可以了Const WS_EX_TRANSPARENT = &H00000020L
      

  3.   



    处理WM_ERASEBKGND消息
    在OnEraseBkgnd里return true
      

  4.   

    在MFC主窗口中嵌入一个子窗口,要怎样设置这个工程先刷新主窗口,再刷新子窗口啊
      

  5.   

    本身父窗口刷新的话,子窗口也会接着刷新,除非你在资源上勾上了Clip children,那么父窗口刷新的话,就不会去刷新子窗口的区域了。
      

  6.   


    这个没法设置吧
    刷新机制都是Windows内定的
    刷新窗口属于系统行为
    我们只能通过Invalidate强迫窗口刷新
      

  7.   

    ModifyStyle(0,WS_CLIPCHILDREN|WS_CLIPSIBLINGS);
      

  8.   

    楼主第二个问题很容易,只要强制所有窗口刷新就可以了;在子窗口的OnPaint中调用Invalidate就好
    有个类似的问题,就是怎么只刷新子窗口A而不导致父窗口和子窗口B一起刷新;由于效果需要,只要求子窗口A刷新;而子窗口B需要相应OnTimer,不能跟着一起刷新。谢谢大牛