第十四篇:在SOUI中使用定时器
在宿主窗口的消息映射表中使用MSG_WM_TIMER来响应定时器消息。但是需要注意的是,这个映射宏会截获所有分发给宿主窗口的定时器,如果不是自己创建的定时器,则需要继续交给基类处理。 可以调用:SetMsgHandled(FALSE); 或者:SHostWnd::OnTimer(UINT_PTR idEvent);实现。
不管定时器有没有启动,只要使用OnTimer来处理消息,处理后请添加SetMsgHandled(FALSE);,否则消息无法继续传递了!
我的问题是使用了SGoupList控件,点击group时,无法折叠,经 @setoutsoft 启程软件提示后发现使用了OnTimer,而且还没有处理SetMsgHandled(FALSE);造成此问题,在此对@setoutsoft 丰富的经验表示佩服!
|