希望你们中的一些人能够指出我正确的方向来处理闪烁/撕裂/重绘问题,当我“动画”时应用程序中的一些组件。
我必须通过说出动画'在不是全屏模式时似乎工作正常(没有闪烁等) - 即1024 * 768,borderstyle = bsSingle。当应用程序接管整个监视器并且bordertyle变为bsNone时,这个问题变得非常明显。
有2种动画':
1 - 面板使用Winapi AnimateWindow方法从左向右滚动
2 - TmsAdvPolyPager逐步浏览其中的每一项,然后显示其页面'
滚动面板时,面板即可退出'离开了一条小道。动画似乎不寒而栗,它不再流畅。
当单步执行TmsAdvPolyPager项目时,下一个项目有时不会突出显示,并且它显示的页面通常具有“残差”'来自上一个小组。
这两个动画都是由计时器触发的 - AnimateWindow在其自己的线程中,而PolyPager步进不是。
所以,基本上 - 关于如何平滑这些动画并强制正确重绘TmsAdvPolyPager组件的任何想法?第一次尝试这种东西,所以不完全确定要调查它。
一如既往,非常感谢帮助!
答案 0 :(得分:3)
TPaintBox是您所需要的,可能在TScroller上。
转储面板并在TPaintbox画布上绘制矩形。
您显然已经编写了99%的代码,因此移动到定义的矩形应该不是问题:)