Delphi设计形象的动态三维饼图

发表于:2007-06-11来源:作者:点击数: 标签:
向窗体上添加一个TVtChart组件和一个TTimer组件,其中TVtChart组件用于显示饼图,而TTimer组件用于不停地改变饼图的数据,获得动态的效果。设计完成的主界面如图1所示。 java script:if(this.width>498)this.style.width=498;' onmousewheel = 'javascript:r

向窗体上添加一个TVtChart组件和一个TTimer组件,其中TVtChart组件用于显示饼图,而TTimer组件用于不停地改变饼图的数据,获得动态的效果。设计完成的主界面如图1所示。

 

图1:主界面

程序首先在uses段中加入math单元,然后在窗体的初始化过程中添加Randomize()语句,使得每次运行程序时重新产生随机数,以免同前一次运行的随机数相同。

为了产生动态的饼图,在TTimer组件的响应过程中添加以下代码:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

 self.VtChart1.Row:=0;

 self.VtChart1.Column:=0;

 self.VtChart1.Data:=FloatToStr(Random(200));

end;

TTimer组件Interval属性设置为1000,也就是每隔1000毫秒,程序就会改变一次饼途中第1行第1列的数据。

程序代码如下:

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, OleCtrls, VCFI, ExtCtrls, math;

type

 TForm1 = class(TForm)

 VtChart1: TVtChart;

 Timer1: TTimer;

 procedure Timer1Timer(Sender: TObject);

 procedure FormCreate(Sender: TObject);

private

 { Private declarations }

public

 { Public declarations }

end;

var

 Form1: TForm1;

 implementation

 {$R *.dfm}

 procedure TForm1.Timer1Timer(Sender: TObject);

begin

 self.VtChart1.Row:=0;

 self.VtChart1.Column:=0;

 self.VtChart1.Data:=FloatToStr(Random(200));

end;

procedure TForm1.FormCreate(Sender: TObject);

 begin

Randomize();

 end;

end.

保存文件,然后按F9键运行程序。在程序运行过程中,饼图会不断地变化,如图2所示。

 

图2:变化中的饼图

TVtChart组件不但可以显示饼图,还可以显示很多种三维和二维的图形,如果能够充分利用的话,会使自己的程序增色不少。

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



原文转自:http://www.ltesting.net

...