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

  1. unit Series3D_RangePalette;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Base, StdCtrls, ComCtrls, TeCanvas, ExtCtrls, TeeProcs, TeEngine, Chart,
  8.   TeeSurfa;
  9.  
  10. type
  11.   TSeries3DRangePalette = class(TBaseForm)
  12.     ButtonColor1: TButtonColor;
  13.     ButtonColor2: TButtonColor;
  14.     Label1: TLabel;
  15.     Edit1: TEdit;
  16.     UpDown1: TUpDown;
  17.     CheckBox1: TCheckBox;
  18.     Series1: TColorGridSeries;
  19.     ButtonColor3: TButtonColor;
  20.     procedure CheckBox1Click(Sender: TObject);
  21.     procedure Edit1Change(Sender: TObject);
  22.     procedure FormCreate(Sender: TObject);
  23.     procedure ButtonColor1Click(Sender: TObject);
  24.   private
  25.     { Private declarations }
  26.   public
  27.     { Public declarations }
  28.   end;
  29.  
  30. implementation
  31.  
  32. {$R *.DFM}
  33.  
  34. procedure TSeries3DRangePalette.CheckBox1Click(Sender: TObject);
  35. begin
  36.   { enable the edit box... }
  37.   Edit1.Enabled:=not CheckBox1.Checked;
  38.   UpDown1.Enabled:=not CheckBox1.Checked;
  39.  
  40.   { do we use "Steps" ?? }
  41.   if CheckBox1.Checked then  { no }
  42.   begin
  43.     Series1.UsePalette:=False;
  44.     Series1.UseColorRange:=True;
  45.     Series1.CreateDefaultPalette(Series1.PaletteSteps);
  46.   end
  47.   else  { yes }
  48.   begin
  49.     Series1.UsePalette:=True;
  50.     Series1.UseColorRange:=False;
  51.     Series1.CreateRangePalette;    { <-- new, use range of colors }
  52.   end;
  53. end;
  54.  
  55. procedure TSeries3DRangePalette.Edit1Change(Sender: TObject);
  56. begin
  57.   if Showing then  { re-create the color palette using range }
  58.   begin
  59.     Series1.PaletteSteps:=UpDown1.Position;
  60.     Series1.CreateRangePalette;
  61.     Series1.Repaint;
  62.   end;
  63. end;
  64.  
  65. procedure TSeries3DRangePalette.FormCreate(Sender: TObject);
  66. begin
  67.   inherited;
  68.   Series1.FillSampleValues(100);
  69.   Series1.PaletteSteps:=10;
  70.  
  71.   { set-up initial values for controls }
  72.   ButtonColor1.LinkProperty(Series1,'StartColor');
  73.   ButtonColor2.LinkProperty(Series1,'EndColor');
  74.   ButtonColor3.LinkProperty(Series1,'MidColor');
  75.   UpDown1.Position:=Series1.PaletteSteps;
  76.  
  77.   { create the palette }
  78.   CheckBox1Click(Self);
  79. end;
  80.  
  81. procedure TSeries3DRangePalette.ButtonColor1Click(Sender: TObject);
  82. begin
  83.   inherited;
  84.   if not CheckBox1.Checked then Series1.CreateRangePalette;
  85. end;
  86.  
  87. initialization
  88.   RegisterClass(TSeries3DRangePalette);
  89. end.
  90.