TProgressBar永远不会填满 - 似乎更新太快?

13 delphi progress-bar

可能重复:
Windows 7 Aero Theme Progress Bar Bug?

自从Windows Vista以来,我注意到Delphi中的TProgressBar存在错误/问题.

问题是进度似乎从来没有填补高达100%,有时它得到也许70% - 进度条认为它打到最大,即100%前80%

我一直在各种网站上阅读,事实上,进度条已经完成了它的运作.但似乎有在Delphi VCL这是不准确的呈现进度的错误,所以当它似乎是完整的,但其实不是,这是因为进度的画是不准确的.

如果上述情况属实,这似乎是一个正当理由 - 我还没有找到解决方法.无论涉及TProgressBar的操作是什么,它都不会填满100%,它只能填充75%的路径.

如何准确地填充TProgressBar?

要添加,我尝试用JVCL中的进度条替换TProgressBar,并且那些非标准VCL组件正常工作.因此,如何处理进度并不是问题,它可能是Delphi或Windows - 或两者兼而有之.

是的,我可以使用所述替代方案,但如果可能的话,我想知道如何修复标准的TProgressBar.

谢谢,克雷格.

Dav*_*nan 25

这是Vista主题的一个功能.解决此功能的唯一已知方法是在更新期间倒退.

每次将进度条计数器设置为N后,立即将其设置为N-1.

Delphi代码没有任何问题,它是通用控件的一个特性.

  • 是的,但是当你抛出准确性和正确性以支持"看起来平稳"时,对于一个控制来说,其存在的全部目的是提供准确的进度读数,这不是一个特征. (5认同)
  • 你真的应该在你的答案中把"功能"放在引号中,因为它不是大多数用户认为的那个. (4认同)
  • @Mason我不是在捍卫它!它就是这样,这是打败它的方法. (4认同)
  • 是否准确地说"这是一个你可能感觉动画太慢的动画功能".... (4认同)
  • @mason我想这更像是该功能的结果,vista进度条比xp更平滑. (2认同)