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

  1. unit Drag_Bars;
  2.  
  3. interface
  4.  
  5. uses
  6.   WinTypes,WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Series, TeEngine, CurvFitt, ExtCtrls, TeeProcs, Chart, StdCtrls, TeeComma;
  8.  
  9. type
  10.   TDragBarForm = class(TForm)
  11.     Chart1: TChart;
  12.     Series1: TLineSeries;
  13.     TeeFunction1: TTrendFunction;
  14.     Series2: TBarSeries;
  15.     TeeCommander1: TTeeCommander;
  16.     Panel1: TPanel;
  17.     RadioGroup1: TRadioGroup;
  18.     CheckBox1: TCheckBox;
  19.     procedure FormCreate(Sender: TObject);
  20.     procedure Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  21.       Y: Integer);
  22.     procedure Chart1MouseUp(Sender: TObject; Button: TMouseButton;
  23.       Shift: TShiftState; X, Y: Integer);
  24.     procedure RadioGroup1Click(Sender: TObject);
  25.     procedure CheckBox1Click(Sender: TObject);
  26.     procedure Chart1MouseDown(Sender: TObject; Button: TMouseButton;
  27.       Shift: TShiftState; X, Y: Integer);
  28.   private
  29.     { Private declarations }
  30.     Dragged : Integer;
  31.     OldY    : Integer;
  32.   public
  33.     { Public declarations }
  34.   end;
  35.  
  36. implementation
  37.  
  38. {$R *.DFM}
  39.  
  40. procedure TDragBarForm.FormCreate(Sender: TObject);
  41. begin
  42.   Series2.FillSampleValues(7);
  43.   Dragged:=-1;
  44. end;
  45.  
  46. procedure TDragBarForm.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  47.   Y: Integer);
  48. begin
  49.   { if dragging a bar then... }
  50.   if Dragged<>-1 then
  51.   With Series2 do
  52.   begin
  53.     { drag the bar, changing the bar's Y value }
  54.     YValues[Dragged]:=YValues[Dragged]+(YScreenToValue(y)-YScreenToValue(OldY));
  55.     OldY:=y;
  56.   end;
  57. end;
  58.  
  59. procedure TDragBarForm.Chart1MouseUp(Sender: TObject; Button: TMouseButton;
  60.   Shift: TShiftState; X, Y: Integer);
  61. begin
  62.   Dragged:=-1; { stop dragging }
  63. end;
  64.  
  65. procedure TDragBarForm.RadioGroup1Click(Sender: TObject);
  66. begin
  67.   { change bar style }
  68.   Series2.BarStyle:=TBarStyle(RadioGroup1.ItemIndex);
  69. end;
  70.  
  71. procedure TDragBarForm.CheckBox1Click(Sender: TObject);
  72. begin
  73.   Series2.ColorEachPoint:=CheckBox1.Checked;
  74. end;
  75.  
  76. procedure TDragBarForm.Chart1MouseDown(Sender: TObject; Button: TMouseButton;
  77.   Shift: TShiftState; X, Y: Integer);
  78. begin
  79.   { when clicking a Bar, start dragging }
  80.   Dragged:=Series2.Clicked(X,Y);
  81.   OldY:=Y;
  82. end;
  83.  
  84. initialization
  85.   RegisterClass(TDragBarForm);
  86. end.
  87.