你可以在每个控件对象中增加接口,判断是否状态变化。那么外层只需要调用这个接口,咨询每个控件是否状态发生变化。无变化则跳出,有变化则刷新。刷新最好也只刷新状态发生变化的控件,不需要全部刷新。
是啊。你现在可能就是不加判断就进行刷新,自然有很多的无用功了。 比如可以把状态记录下来,每次消息来后,先检查是否发生变化。状态无变化时不需要进行处理。
你说的自制的东西是你们自己做的?如果是,那么就需要改进,控件状态如果不发生变化,就不应该刷新啊,不进行判断吗?不能任何消息都不加判断就刷新吧。如果不是你们做的,你也没有办法控制这些消息不被工具条响应,那我是没啥办法了。或许有高手有办法,比如从底层捕捉截获这些消息之类的。或者就找开发商改进吧。
都是自动的吗?鼠标只要经过就必须要响应吗? 我们有个软件也遇到过类似问题,鼠标每动一下都需要大量的判断,影响效率。后来就增加了鼠标停留的判断。如果只是瞬间的经过,就不用去响应它,只有鼠标停留如50ms以上时,才认为用户真正是要做查询。不知道这种思路是否适合你这里的处理。 或者,自制工具条的消息响应你可以控制吗,还是完全被封装了?
工具条刷新?工具条一般都是菜单的另一种表现形式而已。菜单响应OnUpdateCmdUI应该就改变菜单的效果,也会改变工具条的效果。不知道你所说的刷新属于什么性质的。
是哪种闪烁? 整个工具栏 还是工具栏上的一些控件?
你响应OnIdle的目的是什么呢?
15,979
社区成员
115,900
社区内容
加载中
试试用AI创作助手写篇文章吧