滚动条闪烁

时间:2009-08-05 20:23:18

标签: c++ windows winapi scrollbar

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

对于几乎所有收到的消息,滚动条都会以平滑且一致的方式显示动画。但是,当我收到SB_LINEDOWN消息时(即当我点击底部/右箭头时),滚动条可能会闪烁(Low-framerate example)。同样,所有其他消息都完美无缺。

我测试过删除滚动条位置更新(仍然坏了)并删除了实际的滚动代码(仍然坏了)。我已经对该区域进行了双重缓冲,以防止更糟糕的闪烁..

可能导致此问题的原因以及如何解决?

2 个答案:

答案 0 :(得分:2)

除了Goz提到的,我打赌你已经在做的事情,在滚动条窗口本身及其容器或任何重叠窗口上试验WS_CLIPCHILDREN和WS_CLIPSIBLINGS的组合可能是值得的。

答案 1 :(得分:0)

尝试拦截并忽略WM_ERASEBKGND,这对控件中的闪烁有很大的帮助。不知道Dunno是否是你的问题:(