【发布时间】:2012-09-23 08:13:13
【问题描述】:
我最初有一个 ActiveX 控件,它注册了一个每隔几秒触发一次的 Windows 计时器(使用SetTimer())。到目前为止效果很好。现在为了实现全屏模式,我在控件中添加了一个子窗口,它应该显示内容,而控件本身管理所有 ActiveX 内容。
我使用这种方法的问题是我的 WM_TIMER 在某个时间突然停止触发。我已经将其追溯到 UIDeactivate() 在我的控件上被调用,但我不知道为什么在之前未调用此方法时会调用此方法(我相信它与失去焦点有关)。
我还想知道为什么我的 WM_TIMER 事件突然停止,而其他一切似乎仍然正常。它与在子窗口中而不是在 ActiveX 控件本身上显示内容有什么关系?
【问题讨论】:
-
控制是如何实现的? ATL、MFC?
-
它是用 ATL 实现的,但没有向导。