我的滚动条的绘制方式有问题。由于外部限制(我的应用程序是在外部窗口中运行的插件,坚持在任何常规子窗口上绘画),我必须使用SCROLLBAR
- 类窗口(而不是使用WS_CHILD | WS_VSCROLL
)< / p>
对于几乎所有收到的消息,滚动条都会以平滑且一致的方式显示动画。但是,当我收到SB_LINEDOWN
消息时(即当我点击底部/右箭头时),滚动条可能会闪烁(Low-framerate example)。同样,所有其他消息都完美无缺。
我测试过删除滚动条位置更新(仍然坏了)并删除了实际的滚动代码(仍然坏了)。我已经对该区域进行了双重缓冲,以防止更糟糕的闪烁..
可能导致此问题的原因以及如何解决?
答案 0 :(得分:2)
除了Goz提到的,我打赌你已经在做的事情,在滚动条窗口本身及其容器或任何重叠窗口上试验WS_CLIPCHILDREN和WS_CLIPSIBLINGS的组合可能是值得的。
答案 1 :(得分:0)
尝试拦截并忽略WM_ERASEBKGND,这对控件中的闪烁有很大的帮助。不知道Dunno是否是你的问题:(