home *** CD-ROM | disk | FTP | other *** search
- unit Ucusdraw;
-
- interface
-
- { This example is a basic introduction to custom drawing
- using the Chart1.Canvas
- }
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, TeEngine, Series, StdCtrls, Buttons, ExtCtrls, TeeProcs,
- Chart;
-
- type
- TCustomDrawForm = class(TForm)
- Chart1: TChart;
- Series1: TBarSeries;
- CheckBox1: TCheckBox;
- Button1: TButton;
- CheckBox2: TCheckBox;
- procedure FormCreate(Sender: TObject);
- procedure Series1AfterDrawValues(Sender: TObject);
- procedure CheckBox1Click(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- procedure CheckBox2Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- CustomDrawForm: TCustomDrawForm;
-
- implementation
-
- {$R *.DFM}
-
- procedure TCustomDrawForm.FormCreate(Sender: TObject);
- begin
- { hide vertical grid lines... }
- Chart1.BottomAxis.Grid.Visible:=False;
- { fill Series1 with sample date-time values... }
- With Series1 do
- begin
- XValues.DateTime:=True;
- Clear;
- AddXY( EncodeDate( 1997,1,1 ), 100, '', clTeeColor );
- AddXY( EncodeDate( 1997,2,1 ), 200, '', clTeeColor );
- AddXY( EncodeDate( 1997,3,1 ), 300, '', clTeeColor );
- AddXY( EncodeDate( 1997,4,1 ), 200, '', clTeeColor );
- AddXY( EncodeDate( 1997,5,1 ), 100, '', clTeeColor );
- AddXY( EncodeDate( 1997,6,1 ), 200, '', clTeeColor );
- AddXY( EncodeDate( 1997,7,1 ), 300, '', clTeeColor );
- end;
- end;
-
- procedure TCustomDrawForm.Series1AfterDrawValues(Sender: TObject);
- var tmp:Integer;
- begin
- if CheckBox1.Checked then { <-- draw lines ? }
- begin
- With Chart1.Canvas do { <-- use Canvas }
- begin
- { set pen properties, psDot works only with Width:=1 }
- Pen.Style:=psDot;
- Pen.Width:=1;
- Pen.Color:=clWhite;
-
- { draw one line }
- tmp:=Chart1.BottomAxis.CalcXPosValue( EncodeDate( 1997, 3, 15 ) );
- MoveTo( tmp, Chart1.ChartRect.Bottom );
- LineTo( tmp, Chart1.ChartRect.Top );
-
- { draw another }
- tmp:=Chart1.BottomAxis.CalcXPosValue( EncodeDate( 1997, 6, 2 ) );
- MoveTo( tmp, Chart1.ChartRect.Bottom );
- LineTo( tmp, Chart1.ChartRect.Top );
- end;
- end;
- end;
-
- procedure TCustomDrawForm.CheckBox1Click(Sender: TObject);
- begin
- Chart1.Repaint; { <-- show/hide lines... }
- end;
-
- procedure TCustomDrawForm.Button1Click(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TCustomDrawForm.CheckBox2Click(Sender: TObject);
- begin
- Chart1.View3D:=CheckBox2.Checked;
- end;
-
- end.
-