MFC SetTimer() 指定标识 2,但标识 1 也被执行?如何处理?
如果在 MFC 中使用 SetTimer() 函数指定了一个定时器标识为 2,但是标识为 1 的定时器也被执行,可能是因为在程序中还存在其他的定时器或者消息处理机制导致的。
处理这种情况的方法有以下几种:
-
确保只创建一个定时器:检查程序中是否还有其他地方创建了标识为 1 的定时器,如果有,则可以移除或者合并这些定时器,只保留一个定时器。
-
检查消息处理机制:如果程序中使用了消息循环或者其他消息处理机制,确保只处理标识为 2 的定时器消息,而忽略标识为 1 的定时器消息。
-
使用不同的定时器标识:如果无法解决上述问题,可以考虑使用不同的定时器标识来避免冲突。例如,将标识为 2 的定时器改为其他的值。
总之,需要仔细检查程序中的定时器和消息处理机制,确保只处理指定标识的定时器消息,或者使用不同的标识来避免冲突。
原文地址: https://www.cveoy.top/t/topic/kNGY 著作权归作者所有。请勿转载和采集!