现在接手一个软件,onPaint() 别人写的不能自动刷新,不知道怎么弄好!我做了个ontime()在里面放了onPaint() ,还是不行;我在ontime()里面 加AfxMessageBox() ;便可以刷新了!怎么自动关闭AfxMessageBox() ??或刷新屏幕?  但我不知道怎么弄??

解决方案 »

  1.   

    ontime()在里面放了onPaint()后再立即UpdateWindow();就OK了
      

  2.   

    onPaint() 代码写得不正确,需要修改
      

  3.   

    应该是在
    ontime()在里面放了Invalidate()后再立即UpdateWindow();就OK了先声明无效,刚才没仔细看。
      

  4.   

    看看相应的.cpp中
    ON_WM_PAINT() 是否还在。 参考如下:
    BEGIN_MESSAGE_MAP(CPlayWnd, CWnd)
    //{{AFX_MSG_MAP(CPlayWnd)
    ON_WM_PAINT()
    ON_WM_CREATE()
    ON_WM_DESTROY()
    ON_WM_SIZE()
    ON_WM_ERASEBKGND()
    //}}AFX_MSG_MAP
    ON_MESSAGE(WM_GIF_STOPPLAY,OnGifStopPlay)
    END_MESSAGE_MAP()
      

  5.   

    你为什么需要刷新? 是因为程序作了一些工作。 所以你在这些地方加上 Invalidate()就可以了。 不要用ontime 中加 onpaint or invalidate这种方法。