在一个 MFC 应用程序中,如何使用两个定时器?
Posted
技术标签:
【中文标题】在一个 MFC 应用程序中,如何使用两个定时器?【英文标题】:In a MFC application, how to use two timers? 【发布时间】:2013-09-17 01:17:40 【问题描述】:在MFC应用程序中,如何使用多个定时器,在Ontimer函数中如何识别不同的定时器并执行不同的代码。
【问题讨论】:
我不确定你在做什么,OnTimer (...)
事件处理程序显然有一个参数,指示哪个计时器生成了事件。请参阅 CWnd::OnTimer (...)
的 MSDN 文档:msdn.microsoft.com/en-us/library/fy1hkbdk%28v=vs.90%29.aspx
我太笨了,你能不能给我一些代码,我需要两个计时器,非常感谢...
非常感谢,我知道了...
【参考方案1】:
CWnd::SetTimer 返回一个定时器标识符。对于您创建的每个计时器,您应该存储其 ID 号。
当CWnd::OnTimer 被调用时,它会接收到一个与产生消息的定时器相对应的参数。
您所要做的就是检查哪个计时器触发了该消息。就是这样。
【讨论】:
【参考方案2】:事实上,您可以指定自己的计时器 ID。如果您为窗口定义计时器,则不需要中继 SetTimer 的返回值。 如果窗口是标准窗口(如列表视图),则应小心。这种窗口通常有自己的计时器。
PS:我也认为使用计时器而不验证计时器 id 是否与我在创建它时使用的匹配是一种糟糕的编码风格。
【讨论】:
以上是关于在一个 MFC 应用程序中,如何使用两个定时器?的主要内容,如果未能解决你的问题,请参考以下文章