gpt4 book ai didi

delphi - 移动面板的动画/重绘闪烁严重 - 建议?

转载 作者:行者123 更新时间:2023-12-03 18:33:45 25 4
gpt4 key购买 nike

当我对应用程序中的某些组件进行“动画处理”时,希望你们中的一些人能够指出我处理闪烁/撕裂/重绘问题的正确方向。

我必须先说“动画”在不处于全屏模式时似乎可以正常工作(没有闪烁等) - 即 1024*768,borderstyle=bsSingle。当应用程序接管完整的监视器并且边框样式变为 bsNone 时,此问题变得更加明显。

有2个“动画”:

1 - 使用 Winapi AnimateWindow 方法从左到右滚动面板

2 - TmsAdvPolyPager 逐步浏览其每一项并随后显示其“页面”

滚动面板时,“退出”的面板会留下“轨迹”,动画似乎在颤抖,不再流畅。

单步执行 TmsAdvPolyPager 项时,下一项有时不会突出显示,并且它显示的页面通常具有上一个面板的“残差”。

两个动画都由计时器触发 - AnimateWindow 在它自己的线程中,而 PolyPager 步进不是。

所以,基本上 - 关于如何平滑这些动画并强制正确重绘 TmsAdvPolyPager 组件的任何想法?第一次尝试这种东西,所以不完全确定要研究什么。

一如既往,非常感谢您的帮助!

最佳答案

TPaintBox 是您需要的,可能在 TScroller 上。

转储面板并在 TPaintbox Canvas 上绘制矩形。

您显然已经编写了 99% 的代码,因此移动到已定义的矩形应该不是问题 :)

关于delphi - 移动面板的动画/重绘闪烁严重 - 建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13880462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com