在 MFC(Microsoft Foundation Classes)中,CWnd::SetTimer 是一个公共方法,用于在窗口上启动一个定时器。该方法的声明如下:
UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse, TIMERPROC lpfnTimerFunc = NULL);

  •  nIDEvent: 一个无符号整数,表示定时器的标识符。可以用这个标识符来区分多个定时器。

  •  nElapse: 一个无符号整数,表示定时器的间隔时间,以毫秒为单位。

  •  lpfnTimerFunc: 一个指向 TIMERPROC 函数的指针,表示定时器回调函数。如果为 NULL,则使用默认的处理函数。


TIMERPROC 函数的定义如下:
VOID CALLBACK TimerProc(
  HWND hwnd,
  UINT uMsg,
  UINT_PTR idEvent,
  DWORD dwTime
);

使用 CWnd::SetTimer 方法,你可以在窗口上创建一个定时器,并在指定的时间间隔内周期性地触发定时器事件。

以下是一个示例,演示如何在 MFC 应用程序中使用 SetTimer 方法:
// 假设 pWnd 是你的窗口类的一个成员变量
UINT_PTR nTimerID = pWnd->SetTimer(1, 1000, NULL);

在这个示例中,1 是定时器的标识符,1000 表示定时器的触发间隔为 1000 毫秒(1秒)。你可以在你的窗口类中添加相应的处理函数,以响应定时器事件。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23563/MFC/CWnd