2009-08-05 98 views
2

我的滚动条绘制方式有问题。由于外部限制(我的应用程序是在通过任何常规的子窗口中的绘画坚持的对外窗口运行的插件),我必须使用SCROLLBAR -class窗口(而不是使用WS_CHILD | WS_VSCROLL滚动条闪烁

对于接收的几乎每一个消息,滚动条显示动画顺利和一致。但是,当我收到SB_LINEDOWN消息(即,当我单击底部/右箭头时)时,滚动条闪烁可怕(Low-framerate example)。同样,所有其他信息都可以完美工作

我测试了删除滚动条位置更新(仍然中断),并删除实际的滚动代码(仍然中断)。我已经双缓冲区,以防止更糟糕的闪烁..

什么可能会导致这一点,我怎么能解决它?

+0

这真的很奇怪,我真的不知道,它可以帮助我,并且几乎肯定会帮助其他人,如果你张贴一些代码 – 2009-08-05 20:28:26

回答

1

除了Goz提到的,我敢打赌你已经在做什么,它可能是值得在滚动条窗口本身和它的容器或任何重叠实验WS_CLIPCHILDREN和WS_CLIPSIBLINGS的组合windows

+0

我仍然需要进一步测试,但它似乎添加WS_CLIPCHILDREN父级作品。 – 3Doubloons 2009-08-06 13:23:34

+0

这是一个明确的耶! – 3Doubloons 2009-08-06 13:59:24

0

尝试拦截并忽略WM_ERASEBKGND,这帮助我控制闪烁很多。不知道如果它的问题虽然:(