我有一个继承自 ClistCtrl 的 ClistCtrlEx 类。
我加
- ON_WM_TIMER() 到消息表
- OnTimer 函数
但在调用 SetTimer 函数之前,程序会通过事件 ID 45 接收 WM_TIMER 消息,而当我调用 SetTimer 时根本不发送 WM_TIMER。
我如何开始调试它或解决问题?
最佳答案
这篇知识库文章似乎很合适:PRB: OnTimer() Is Not Called Repeatedly for a List Control .
基本上,他们建议仅在事件 ID 不是您的情况下才调用默认处理程序,因为列表控件设置了自己的计时器并且其 WM_TIMER 处理程序将 KillTimer()
不管 id.
void CMyListCtrl::OnTimer(UINT nIDEvent)
{
if (nIDEvent == m_myTimerID)
{
// handle timer event
}
else
{
CListCtrl::OnTimer(nIDEvent);
}
}
关于c++ - 为什么在 MFC 中收到错误消息而不是定时器消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12191262/