mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-07-22 14:26:31 +02:00
73 lines
1.5 KiB
ObjectPascal
73 lines
1.5 KiB
ObjectPascal
unit frmPointers;
|
|
|
|
{$mode ObjFPC}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
SysUtils, Classes,
|
|
Forms, Graphics, Controls, StdCtrls, ExtCtrls, Spin,
|
|
TAGraph, TAEnumerators, TAChartUtils, TATypes, TASeries;
|
|
|
|
type
|
|
TPointersFrame = class(TFrame)
|
|
Chart: TChart;
|
|
lblPointerSize: TLabel;
|
|
pnlPointers: TPanel;
|
|
sePointerSize: TSpinEdit;
|
|
procedure sePointerSizeChange(Sender: TObject);
|
|
private
|
|
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
type
|
|
TLineSeriesEnum =
|
|
specialize TFilteredChartSeriesEnumeratorFactory<TLineSeries>;
|
|
|
|
constructor TPointersFrame.Create(AOwner: TComponent);
|
|
var
|
|
st: TSeriesPointerStyle;
|
|
ls: TLineSeries;
|
|
s: ShortString;
|
|
begin
|
|
inherited Create(AOwner);
|
|
|
|
// Populate the series for the PointerStyle demo
|
|
for st in TSeriesPointerStyle do begin
|
|
ls := TLineSeries.Create(Self);
|
|
ls.LinePen.Color := clGreen;
|
|
ls.ShowPoints := true;
|
|
ls.Pointer.Pen.Color := clRed;
|
|
ls.Pointer.Style := st;
|
|
ls.AddXY(1, Ord(st));
|
|
Str(st, s);
|
|
ls.AddXY(10, Ord(st), s, clGreen);
|
|
ls.AddXY(19, Ord(st));
|
|
ls.Marks.Visible := true;
|
|
ls.Marks.Style := smsLabel;
|
|
ls.Marks.Distance := 4;
|
|
Chart.AddSeries(ls);
|
|
end;
|
|
end;
|
|
|
|
procedure TPointersFrame.sePointerSizeChange(Sender: TObject);
|
|
var
|
|
ls: TLineSeries;
|
|
begin
|
|
for ls in TLineSeriesEnum.Create(Chart) do
|
|
with ls.Pointer do begin
|
|
HorizSize := sePointerSize.Value;
|
|
VertSize := sePointerSize.Value;
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|