CWnd::OnTimer 是 MFC(Microsoft Foundation Classes)中 CWnd 类的一个受保护方法,用于处理定时器消息。当您启动一个定时器并且定时器触发时,系统将发送 WM_TIMER 消息,并调用这个方法。

以下是 OnTimer 方法的典型声明:
afx_msg void OnTimer(UINT_PTR nIDEvent);

  •  nIDEvent 参数是定时器的 ID,用于标识是哪个定时器触发了消息。


在实际应用中,您可以重写这个方法以执行在定时器触发时需要进行的自定义操作。例如:
void CYourWndClass::OnTimer(UINT_PTR nIDEvent)
{
    // 执行定时器触发时的自定义操作

    // 调用基类实现
    CWnd::OnTimer(nIDEvent);
}

在这个方法中,您可以根据 nIDEvent 参数的值,判断是哪个定时器触发了消息,然后执行相应的操作。

为了使用这个方法,您需要在消息映射中添加对应的宏,例如:
BEGIN_MESSAGE_MAP(CYourWndClass, CWnd)
    // 其他消息映射...
    ON_WM_TIMER()
END_MESSAGE_MAP()

然后,您需要使用 SetTimer 函数启动定时器,并在合适的地方调用 KillTimer 函数来停止定时器。这样,当定时器触发时,OnTimer 方法就会被调用。


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