none
除了用WM_TIMER,还有别的方式可以定时刷新窗口吗 RRS feed

  • 问题

  • 我在CView中显示一个时间信息,需要一秒钟重画一次,用定时器,在OnTimer中可以通过调用InValidate(NULL),可以导致WM_PAINT消息被发送,从而重画CView,但不通过定时器,有其他办法能够定时刷新CView吗
    2012年1月25日 10:39

答案

  • 开个线程,定时发送自定义消息到UI线程,在UI线程的自定义消息响应函数中调用Invalidate/InvalidateRect()
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 janemzc 2012年1月28日 12:42
    2012年1月28日 10:43
    版主

全部回复

  • 这个可能是最简单的方法了。
    麻烦把正确答案设为解答。
    2012年1月26日 2:19
    版主
  • 建一个线程

    while(1) {

      update();

      sleep()

    }

    不保证能用 :")


    0xBAADF00D
    2012年1月28日 8:53
    版主
  • 开个线程,定时发送自定义消息到UI线程,在UI线程的自定义消息响应函数中调用Invalidate/InvalidateRect()
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 janemzc 2012年1月28日 12:42
    2012年1月28日 10:43
    版主