home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 25: Programming / pc_actual_25.iso / Delphi / TeeChartPro / TeeChart5Delphi5Eval.exe / %MAINDIR% / Examples / Features / Legend_AddText.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-09-10  |  2.0 KB  |  87 lines

  1. unit Legend_AddText;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Base, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls;
  8.  
  9. type
  10.   TLegendAddText = class(TBaseForm)
  11.     Series1: TBarSeries;
  12.     CheckBox1: TCheckBox;
  13.     procedure FormCreate(Sender: TObject);
  14.     procedure Chart1AfterDraw(Sender: TObject);
  15.     procedure Chart1GetLegendPos(Sender: TCustomChart; Index: Integer;
  16.       var X, Y, XColor: Integer);
  17.     procedure Chart1GetLegendRect(Sender: TCustomChart; var Rect: TRect);
  18.     procedure CheckBox1Click(Sender: TObject);
  19.   private
  20.     { Private declarations }
  21.   public
  22.     { Public declarations }
  23.   end;
  24.  
  25. implementation
  26.  
  27. {$R *.DFM}
  28.  
  29. procedure TLegendAddText.FormCreate(Sender: TObject);
  30. begin
  31.   inherited;
  32.   Series1.FillSampleValues(6);
  33.   Series1.XLabel[0]:='one';
  34.   Series1.XLabel[1]:='two';
  35.   Series1.XLabel[2]:='three';
  36.   Series1.XLabel[3]:='four';
  37.   Series1.XLabel[4]:='five';
  38.   Series1.XLabel[5]:='six';
  39.   Chart1.legend.TextStyle:=ltsPlain;
  40. end;
  41.  
  42. procedure TLegendAddText.Chart1AfterDraw(Sender: TObject);
  43. begin
  44.   if CheckBox1.Checked then
  45.   With Chart1.Legend.ShapeBounds do
  46.   begin
  47.     With Chart1.Canvas do
  48.     begin
  49.       DoHorizLine(Left,Right,Bottom-30);
  50.       TextAlign:=ta_Left;
  51.       Font.Size:=8;
  52.       Font.Color:=clNavy;
  53.       TextOut(Left+8,Bottom-28,'Additional text');
  54.       TextOut(Left+8,Bottom-16,'displayed here.');
  55.     end;
  56.   end;
  57. end;
  58.  
  59. procedure TLegendAddText.Chart1GetLegendPos(Sender: TCustomChart;
  60.   Index: Integer; var X, Y, XColor: Integer);
  61. begin
  62.   if CheckBox1.Checked then
  63.   begin
  64.     X:=X-40;
  65.     XColor:=XColor-40;
  66.   end;
  67. end;
  68.  
  69. procedure TLegendAddText.Chart1GetLegendRect(Sender: TCustomChart;
  70.   var Rect: TRect);
  71. begin
  72.   if CheckBox1.Checked then
  73.   begin
  74.     Rect.Left:=Rect.Left-40;
  75.     Rect.Bottom:=Rect.Bottom+30;
  76.   end;
  77. end;
  78.  
  79. procedure TLegendAddText.CheckBox1Click(Sender: TObject);
  80. begin
  81.   Chart1.Repaint;
  82. end;
  83.  
  84. initialization
  85.   RegisterClass(TLegendAddText);
  86. end.
  87.