2013-11-26 65 views
2

我想在Delphi 2009中创建progressring(Windows8组件) 我们在XAML和C#中有许多样本,但不是在“老版本”的Delphi版本中。在delphi 2009中创建ProgressRing

反正没开发公司有这样的组件出售...

任何人都知道什么样?

+1

也许http://www.tmssoftware.com/site/AdvSmoothCircularProgress.asp? – Roddy

+1

+1来弥补downvote – jpfollenius

+0

是的,TMS有,但不是真正的ProgressRing ...风格非常不同 – quimdotractor

回答

2

最简单的解决方案就是使用动画GIF。有很多在线生成器可用于创建此GIF(例如here)。您可以轻松继承TImage中的自定义组件以显示该GIF。包含GIF文件作为资源并像这样加载:

ResStream := TResourceStream.Create (HInstance, 'CIRCULAR_PROGRESS', 'GIFIMG'); 
Img := TGIFImage.Create; 
try 
    Img.LoadFromStream (ResStream); 
    Picture.Assign (Img); 
finally 
    FreeAndNil (ResStream); 
    FreeAndNil (Img); 
end; 

if not (csDesigning in ComponentState) then 
    (Picture.Graphic as TGIFImage).Animate := True; 
+0

这样的作品,但它是最好的方式吗?我不这么认为...... – quimdotractor

+3

你认为什么是缺点?这对我来说很有用。 – jpfollenius

+0

在Windows XP中运行时,Gif有时会在Delphi中崩溃 – quimdotractor