home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Delphi1_And_Delphi2 / EXAMPLES / EXTENDED / UMULMA.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  3.3 KB  |  137 lines

  1. {****************************************}
  2. {    TeeChart. TChart Component          }
  3. { Copyright (c) 1995-98 by David Berneda }
  4. {    All Rights Reserved                 }
  5. {****************************************}
  6. unit UMulMa;
  7.  
  8. interface
  9.  
  10. uses
  11.   WinProcs,WinTypes, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  12.   StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Chart, TeeComma;
  13.  
  14. type
  15.   TMultiMarksForm = class(TForm)
  16.     Panel1: TPanel;
  17.     Memo1: TMemo;
  18.     Button1: TButton;
  19.     Chart1: TChart;
  20.     Series1: TPieSeries;
  21.     Button2: TButton;
  22.     CheckBox1: TCheckBox;
  23.     Button3: TButton;
  24.     CheckBox2: TCheckBox;
  25.     procedure Button1Click(Sender: TObject);
  26.     procedure FormCreate(Sender: TObject);
  27.     procedure Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  28.       Y: Integer);
  29.     procedure Chart1MouseDown(Sender: TObject; Button: TMouseButton;
  30.       Shift: TShiftState; X, Y: Integer);
  31.     procedure Chart1MouseUp(Sender: TObject; Button: TMouseButton;
  32.       Shift: TShiftState; X, Y: Integer);
  33.     procedure Button2Click(Sender: TObject);
  34.     procedure CheckBox1Click(Sender: TObject);
  35.     procedure Button3Click(Sender: TObject);
  36.     procedure CheckBox2Click(Sender: TObject);
  37.   private
  38.     { Private declarations }
  39.     Dragged:Integer;
  40.     OldX,OldY:Integer;
  41.   public
  42.     { Public declarations }
  43.   end;
  44.  
  45. implementation
  46.  
  47. {$R *.DFM}
  48. Uses EditChar;
  49.  
  50. procedure TMultiMarksForm.Button1Click(Sender: TObject);
  51. begin
  52.   Close;
  53. end;
  54.  
  55. procedure TMultiMarksForm.FormCreate(Sender: TObject);
  56. begin
  57.   Dragged:=-1;
  58.   Series1.FillSampleValues(8);
  59. end;
  60.  
  61. procedure TMultiMarksForm.Chart1MouseMove(Sender: TObject;
  62.   Shift: TShiftState; X, Y: Integer);
  63. var DifX,DifY:Integer;
  64. begin
  65.   if Dragged<>-1 then
  66.   With Series1.Marks.Positions.Position[Dragged] do
  67.   begin
  68.     DifX:=X-OldX;
  69.     DifY:=Y-OldY;
  70.     Custom:=True;
  71.     Inc(LeftTop.X,DifX);
  72.     Inc(LeftTop.Y,DifY);
  73.     Inc(ArrowTo.X,DifX);
  74.     Inc(ArrowTo.Y,DifY);
  75.     OldX:=X;
  76.     OldY:=Y;
  77.     Series1.Repaint;
  78.     Button3.Enabled:=True;
  79.   end
  80.   else
  81.   begin
  82.     if Series1.Marks.Clicked(x,y)<>-1 then
  83.     begin
  84.       Chart1.Cursor:=crTeeHand;
  85.       Chart1.OriginalCursor:=crTeeHand;
  86.     end
  87.     else
  88.     if Chart1.Cursor<>crDefault then
  89.     begin
  90.       Chart1.Cursor:=crDefault;
  91.       Chart1.OriginalCursor:=crDefault;
  92.     end;
  93.   end;
  94. end;
  95.  
  96. procedure TMultiMarksForm.Chart1MouseDown(Sender: TObject;
  97.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  98. begin
  99.   Dragged:=Series1.Marks.Clicked(x,y);
  100.   OldX:=X;
  101.   OldY:=Y;
  102. end;
  103.  
  104. procedure TMultiMarksForm.Chart1MouseUp(Sender: TObject;
  105.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  106. begin
  107.   Dragged:=-1;
  108. end;
  109.  
  110. procedure TMultiMarksForm.Button2Click(Sender: TObject);
  111. begin
  112.   EditChart(Self,Chart1);
  113. end;
  114.  
  115. procedure TMultiMarksForm.CheckBox1Click(Sender: TObject);
  116. begin
  117.   Series1.Marks.Arrow.Visible:=CheckBox1.Checked;
  118. end;
  119.  
  120. procedure TMultiMarksForm.Button3Click(Sender: TObject);
  121. var t:Integer;
  122. begin
  123.   With Series1 do
  124.   for t:=0 to Count-1 do
  125.       Marks.Positions.Position[t].Custom:=False;
  126.   Button3.Enabled:=False;
  127.   Chart1.Repaint;
  128. end;
  129.  
  130. procedure TMultiMarksForm.CheckBox2Click(Sender: TObject);
  131. begin
  132.   TeeCheckMarkArrowColor:=CheckBox2.Checked;
  133.   Chart1.Repaint;
  134. end;
  135.  
  136. end.
  137.