在 MFC(Microsoft Foundation Classes)中,CWnd::SetTimer 是 CWnd 类的一个公共方法,用于设置定时器。

函数原型为:
UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse, TIMERPROC lpfnTimer = NULL);

  •  nIDEvent 参数是定时器的 ID,用于标识定时器。


  •  nElapse 参数是定时器的时间间隔,以毫秒为单位。


  •  lpfnTimer 参数是一个指向定时器过程(Timer Procedure)的函数指针,用于指定在每次定时器事件触发时要执行的函数。如果为 NULL,MFC 将调用默认的处理程序。


返回值是一个 UINT_PTR 类型的值,表示新创建的定时器的标识符。可以使用这个标识符来识别定时器。

使用示例:
// 假设 pWnd 是一个指向 CWnd 对象的指针
UINT_PTR nTimerID = pWnd->SetTimer(1, 1000, NULL);  // 创建一个 1 秒的定时器

// 在定时器事件处理完之后,记得释放定时器
// pWnd->KillTimer(nTimerID);

上述代码将在 pWnd 对象上创建一个定时器,每隔 1000 毫秒(1 秒)触发一次。可以根据实际需要设置不同的时间间隔和定时器 ID。在定时器事件处理完之后,可以使用 KillTimer 方法释放定时器。


转载请注明出处:http://www.zyzy.cn/article/detail/23402/MFC/CWnd