https://www.cnblogs.com/gaodu2003/archive/2009/06/18/1505720.html
unit Unit1;
interface
……
type
TForm1 = class(TForm)
Chart1: TChart;
Series1: TPieSeries;
……
var
Form1: TForm1;
ps: TPieSeries;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ps.Free;
ps := TPieSeries.Create(self);
ps.Clear;
ps.Repaint;
ps.CustomXRadius: = 70;
ps.CustomYRadius: = 70;
ps.Marks.Arrow.Visible: = False;
ps.Marks.ArrowLength: = -50;
ps.Marks.Transparent: = True;
ps.Marks.Frame. the Visible: = False;
ps.Marks.Style: = smsLabel;
ps.ParentChart: = Chart1;
ps.AddPie (10, 'a first portion', clRed);
ps.AddPie (20 is, 'second part', clGreen);
ps.AddPie (5, 'part', clBlue);
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
MoveDesPart(1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
MoveDesPart(2);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
MoveDesPart(3);
end;
procedure TForm1.MoveDesPart(i: Integer);
var
j: Integer;
begin
for j := 1 to 3 do
begin
if j = i then
begin
ps.ExplodedSlice.Value[j-1] := 10;
end
else
begin
ps.ExplodedSlice.Value[j-1] := 0;
end;
end;
end;
end.
unit Unit1;
interface
……
type
TForm1 = class(TForm)
Chart1: TChart;
Series1: TPieSeries;
……
var
Form1: TForm1;
ps: TPieSeries;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ps.Free;
ps := TPieSeries.Create(self);
ps.Clear;
ps.Repaint;
ps.CustomXRadius: = 70;
ps.CustomYRadius: = 70;
ps.Marks.Arrow.Visible: = False;
ps.Marks.ArrowLength: = -50;
ps.Marks.Transparent: = True;
ps.Marks.Frame. the Visible: = False;
ps.Marks.Style: = smsLabel;
ps.ParentChart: = Chart1;
ps.AddPie (10, 'a first portion', clRed);
ps.AddPie (20 is, 'second part', clGreen);
ps.AddPie (5, 'part', clBlue);
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
MoveDesPart(1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
MoveDesPart(2);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
MoveDesPart(3);
end;
procedure TForm1.MoveDesPart(i: Integer);
var
j: Integer;
begin
for j := 1 to 3 do
begin
if j = i then
begin
ps.ExplodedSlice.Value[j-1] := 10;
end
else
begin
ps.ExplodedSlice.Value[j-1] := 0;
end;
end;
end;
end.