lazarus/components/tachart/demo/rotate/Main.pas
2011-05-06 15:28:47 +00:00

86 lines
1.6 KiB
ObjectPascal

unit Main;
{$mode objfpc}{$H+}
interface
uses
Classes, ExtCtrls, StdCtrls, SysUtils, FileUtil, LResources, Forms, Controls,
Graphics, Dialogs, TAGraph, TASeries, TASources;
type
{ TForm1 }
TForm1 = class(TForm)
cbRotateBar: TCheckBox;
cbNegative: TCheckBox;
cbRotateArea: TCheckBox;
Chart1: TChart;
Chart1AreaSeries1: TAreaSeries;
Chart1BarSeries1: TBarSeries;
Chart1LineSeries1: TLineSeries;
cbRotateLine: TCheckBox;
cbMarkPositions: TComboBox;
lblMarkPositions: TLabel;
Panel1: TPanel;
RandomChartSource1: TRandomChartSource;
procedure cbMarkPositionsChange(Sender: TObject);
procedure cbNegativeChange(Sender: TObject);
procedure cbRotateAreaChange(Sender: TObject);
procedure cbRotateBarChange(Sender: TObject);
procedure cbRotateLineChange(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
uses
TACustomSeries;
procedure Rotate(ASeries: TBasicPointSeries);
var
t: Integer;
begin
with ASeries do begin
t := AxisIndexX;
AxisIndexX := AxisIndexY;
AxisIndexY := t;
end;
end;
{ TForm1 }
procedure TForm1.cbMarkPositionsChange(Sender: TObject);
begin
Chart1LineSeries1.MarkPositions :=
TLinearMarkPositions(cbMarkPositions.ItemIndex);
end;
procedure TForm1.cbNegativeChange(Sender: TObject);
begin
RandomChartSource1.YMin := -RandomChartSource1.YMin;
end;
procedure TForm1.cbRotateAreaChange(Sender: TObject);
begin
Rotate(Chart1AreaSeries1)
end;
procedure TForm1.cbRotateBarChange(Sender: TObject);
begin
Rotate(Chart1BarSeries1)
end;
procedure TForm1.cbRotateLineChange(Sender: TObject);
begin
Rotate(Chart1LineSeries1)
end;
end.