SetTimer(
    HWND hWnd , // 窗口句柄
    UINT nIDEvent,// 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
    UINT uElapse, // 时间间隔,单位为毫秒
    TIMERPROC lpTimerFunc//回调函数
);
例如 
SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器

解决方案 »

  1.   

    SetTimer(m_hWnd, IDT_RAND, 500,
    (TIMERPROC)AppCircle::MyTimerProc);
    是说设置一个500ms的定时器,每隔500ms就会执行一次AppCircle::MyTimerProc函数,定时器ID是IDT_RAND
      

  2.   

    那么里面m_bTimer ,m_nTimerID是什么意思呢?为什么TRUE == m_bTimer时要KillTimer,m_bTimer = TRUE时要SetTimer?两个条件不是都为ture?有什么区别
      

  3.   


    不过是一个最简单的if else语句,楼主没仔细看吧?if(m_bTimer)
    {
    }
    else
    {
    }这里是个else分支,m_bTimer等于TRUE就KillTimer,等于FALSE才SetTimer这么做的目的是用一个OnRand函数实现开启/关闭定时器。
    第一次执行OnRand时开启定时器,再次执行时关闭定时器。
      

  4.   

    m_bTimer只是一个状态标志而已。
      

  5.   

    SetTimer( 
        HWND hWnd , // 窗口句柄 
        UINT nIDEvent,// 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 
        UINT uElapse, // 时间间隔,单位为毫秒 
        TIMERPROC lpTimerFunc//回调函数 
    ); 
    例如 
    SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器