mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-03 00:23:41 +02:00
101 lines
2.8 KiB
ObjectPascal
101 lines
2.8 KiB
ObjectPascal
unit main;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
|
|
TAGraph, TATools, TAChartAxis, TASeries, TASources, TATransformations, Types;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
Bevel1: TBevel;
|
|
Chart: TChart;
|
|
cbShowGrid_LeftAxis2: TCheckBox;
|
|
cbShowGrid_LeftAxis1: TCheckBox;
|
|
cbShowGrid_RightAxis: TCheckBox;
|
|
cbShowGrid_BottomAxis: TCheckBox;
|
|
RedSeries: TLineSeries;
|
|
BlueSeries: TLineSeries;
|
|
RedAxisTransformations: TChartAxisTransformations;
|
|
RedAxisTransformationsAutoScaleAxisTransform: TAutoScaleAxisTransform;
|
|
BlueAxisTransformations: TChartAxisTransformations;
|
|
BlueAxisTransformationsAutoScaleAxisTransform: TAutoScaleAxisTransform;
|
|
ChartToolset: TChartToolset;
|
|
ChartToolsetAxisClickTool1: TAxisClickTool;
|
|
ChartToolsetUserDefinedTool1: TUserDefinedTool;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
lblClickedAxis: TLabel;
|
|
lblClickedAxisPart: TLabel;
|
|
BottomPanel: TPanel;
|
|
RedChartSource: TRandomChartSource;
|
|
BlueChartSource: TRandomChartSource;
|
|
procedure ChartToolsetAxisClickTool1Click(ASender: TChartTool;
|
|
Axis: TChartAxis; AHitInfo: TChartAxisHitTests);
|
|
procedure ChartToolsetUserDefinedTool1AfterMouseDown(ATool: TChartTool;
|
|
APoint: TPoint);
|
|
procedure cbShowGrid_LeftAxis2Change(Sender: TObject);
|
|
private
|
|
|
|
public
|
|
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.ChartToolsetAxisClickTool1Click(ASender: TChartTool;
|
|
Axis: TChartAxis; AHitInfo: TChartAxisHitTests);
|
|
var
|
|
s: String;
|
|
begin
|
|
s := '';
|
|
if ahtGrid in AHitInfo then s := s + ', Axis grid';
|
|
if ahtTitle in AHitInfo then s := s + ', Axis title';
|
|
if ahtLine in AHitInfo then s := s + ', Axis line';
|
|
if ahtLabels in AHitInfo then s := s + ', Axis labels';
|
|
if ahtAxisStart in AHitInfo then s := s + ', begin of axis';
|
|
if ahtAxisCenter in AHitInfo then s := s + ', center of axis';
|
|
if ahtAxisEnd in AHitInfo then s := s + ', end of axis';
|
|
if s <> '' then
|
|
begin
|
|
Delete(s, 1, 2);
|
|
lblClickedAxis.Caption := Axis.Title.Caption;
|
|
lblClickedAxisPart.Caption := s;
|
|
end;
|
|
end;
|
|
|
|
procedure TForm1.ChartToolsetUserDefinedTool1AfterMouseDown(ATool: TChartTool;
|
|
APoint: TPoint);
|
|
begin
|
|
lblClickedAxis.Caption := '(none)';
|
|
lblClickedAxisPart.Caption := '(none)';
|
|
ATool.Handled;
|
|
end;
|
|
|
|
procedure TForm1.cbShowGrid_LeftAxis2Change(Sender: TObject);
|
|
begin
|
|
if Sender = cbShowGrid_LeftAxis2 then
|
|
Chart.LeftAxis.Grid.Visible := TCheckbox(Sender).Checked
|
|
else if Sender = cbShowGrid_LeftAxis1 then
|
|
Chart.AxisList[3].Grid.Visible := TCheckbox(Sender).Checked
|
|
else if Sender = cbShowGrid_RightAxis then
|
|
Chart.AxisList[2].Grid.Visible := TCheckbox(Sender).Checked
|
|
else if Sender = cbShowGrid_BottomAxis then
|
|
Chart.BottomAxis.Grid.Visible := TCheckbox(Sender).Checked;
|
|
end;
|
|
|
|
end.
|
|
|