ArrowForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:3k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit ArrowForm;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  5.   Forms, Dialogs, StdCtrls, Spin, ExtCtrls, ComCtrls, MdArrow;
  6. type
  7.   TForm1 = class(TForm)
  8.     Bevel1: TBevel;
  9.     Label1: TLabel;
  10.     Label2: TLabel;
  11.     Label3: TLabel;
  12.     PenLabel: TLabel;
  13.     SpinWidth: TSpinEdit;
  14.     SpinHeight: TSpinEdit;
  15.     SpinArrow: TSpinEdit;
  16.     btnTurn: TButton;
  17.     cbFilled: TCheckBox;
  18.     btnBrush: TButton;
  19.     btnPen: TButton;
  20.     ColorDialog1: TColorDialog;
  21.     trackPenWidth: TTrackBar;
  22.     Arrow: TMdArrow;
  23.     procedure btnTurnClick(Sender: TObject);
  24.     procedure cbFilledClick(Sender: TObject);
  25.     procedure btnBrushClick(Sender: TObject);
  26.     procedure btnPenClick(Sender: TObject);
  27.     procedure trackPenWidthChange(Sender: TObject);
  28.     procedure ArrowDoubleClick (Sender: TObject);
  29.     procedure FormCreate(Sender: TObject);
  30.     procedure SpinWidthChange(Sender: TObject);
  31.     procedure SpinHeightChange(Sender: TObject);
  32.     procedure SpinArrowChange(Sender: TObject);
  33.   end;
  34. var
  35.   Form1: TForm1;
  36. implementation
  37. {$R *.DFM}
  38. procedure TForm1.btnTurnClick(Sender: TObject);
  39. begin
  40.   if Arrow.Direction = High (TMdArrowDir) then
  41.     Arrow.Direction := Low (TMdArrowDir)
  42.   else
  43.     Arrow.Direction := Succ (Arrow.Direction);
  44. end;
  45. procedure TForm1.cbFilledClick(Sender: TObject);
  46. begin
  47.   Arrow.Filled := not Arrow.Filled;
  48. end;
  49. procedure TForm1.btnBrushClick(Sender: TObject);
  50. begin
  51.   ColorDialog1.Color := Arrow.Brush.Color;
  52.   if ColorDialog1.Execute then
  53.     Arrow.Brush.Color := ColorDialog1.Color;
  54. end;
  55. procedure TForm1.btnPenClick(Sender: TObject);
  56. begin
  57.   ColorDialog1.Color := Arrow.Pen.Color;
  58.   if ColorDialog1.Execute then
  59.     Arrow.Pen.Color := ColorDialog1.Color;
  60. end;
  61. procedure TForm1.trackPenWidthChange(Sender: TObject);
  62. begin
  63.   PenLabel.Caption := 'Pen Width: ' +
  64.     IntToStr (trackPenWidth.Position);
  65.   Arrow.Pen.Width := trackPenWidth.Position;
  66. end;
  67. procedure TForm1.ArrowDoubleClick (Sender: TObject);
  68. begin
  69.   ShowMessage ('You have double clicked ' +
  70.     'on the point of the arrow');
  71. end;
  72. procedure TForm1.FormCreate(Sender: TObject);
  73. begin
  74.   SpinWidth.Value := Arrow.Width;
  75.   SpinHeight.Value := Arrow.Height;
  76.   SpinArrow.Value := Arrow.ArrowHeight;
  77.   cbFilled.Checked := Arrow.Filled;
  78.   trackPenWidth.Position := Arrow.Pen.Width;
  79.   PenLabel.Caption := 'Pen Width: ' +
  80.     IntToStr (trackPenWidth.Position);
  81. end;
  82. procedure TForm1.SpinWidthChange(Sender: TObject);
  83. begin
  84.   Arrow.Width := SpinWidth.Value;
  85. end;
  86. procedure TForm1.SpinHeightChange(Sender: TObject);
  87. begin
  88.   Arrow.Height := SpinHeight.Value;
  89. end;
  90. procedure TForm1.SpinArrowChange(Sender: TObject);
  91. begin
  92.   Arrow.ArrowHeight := SpinArrow.Value;
  93. end;
  94. end.