lazarus/components/tachart/demo/events/Main.pas

62 lines
1.6 KiB
ObjectPascal

unit Main;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, TAGraph,
TASeries, TASources;
type
{ TForm1 }
TForm1 = class(TForm)
Chart1: TChart;
Chart1BarSeries1: TBarSeries;
RandomChartSource1: TRandomChartSource;
procedure Chart1BarSeries1BeforeDrawBar({%H-}ASender: TBarSeries;
ACanvas: TCanvas; const {%H-}ARect: TRect; APointIndex, {%H-}AStackIndex: Integer;
var ADoDefaultDrawing: Boolean);
procedure Chart1BeforeDrawBackground({%H-}ASender: TChart; ACanvas: TCanvas;
const ARect: TRect; var ADoDefaultDrawing: Boolean);
procedure Chart1BeforeDrawBackWall({%H-}ASender: TChart; ACanvas: TCanvas;
const ARect: TRect; var ADoDefaultDrawing: Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Chart1BarSeries1BeforeDrawBar(ASender: TBarSeries;
ACanvas: TCanvas; const ARect: TRect; APointIndex, AStackIndex: Integer;
var ADoDefaultDrawing: Boolean);
begin
if APointIndex mod 2 = 0 then
ACanvas.Brush.Style := bsDiagCross;
ADoDefaultDrawing := APointIndex <> 4;
end;
procedure TForm1.Chart1BeforeDrawBackground(ASender: TChart; ACanvas: TCanvas;
const ARect: TRect; var ADoDefaultDrawing: Boolean);
begin
ACanvas.GradientFill(ARect, $FFFFFF, $FF8080, gdVertical);
ADoDefaultDrawing := false;
end;
procedure TForm1.Chart1BeforeDrawBackWall(ASender: TChart; ACanvas: TCanvas;
const ARect: TRect; var ADoDefaultDrawing: Boolean);
begin
ACanvas.GradientFill(ARect, $FFFFFF, $80FF80, gdVertical);
ADoDefaultDrawing := false;
end;
end.