【发布时间】:2014-11-05 22:49:46
【问题描述】:
我有一个使用 ON_WM_TIMER 的 MFC 应用程序。
前 1-2 分钟,我用
启动计时器m_nIDEvent = SetTimer( 234, 500, NULL );
这是完美的工作,但在运行应用程序 2-3 分钟后,我收到另一个事件,我不知道它来自哪里,每 100 毫秒左右。
所以,我有 无效 SomeClass::OnTimer(UINT 事件) { 字符 str[100]; sprintf_s(str, "事件 = %d\n", 事件); }
起初它只打印出事件#234,但在2-3分钟后它开始显示430-432的一些事件。有什么想法吗?
我尝试在 afxwin2.inl (其中定义了 SetTimer )处设置断点,并且在事件中我按预期将其停在那里,而不是其他随机事件。
有什么想法吗?
谢谢!
【问题讨论】:
-
旧浏览器不允许我编辑它,但我没有添加 OnTimer 上的打印语句。
-
Windows 内部使用计时器来实现某些视觉效果。您能否更具体地说明您所指的“SomeClass”?
-
是的,对不起。我有一个名为 Viewer2 的类,它是 CRichEditView 的基类。现在我保持简单,只使用 WM_TIMER 向 CRichEditView 添加一些文本。