1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, spectreUnit;
type
{ TForm1 }
TForm1 = class(TForm)
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormResize(Sender: TObject);
private
public
spectres: array of tSpectre;
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormResize(Sender: TObject);
var
i: longint;
begin
image1.free;
image1:=tImage.create(self);
image1.parent:=self;
image1.left:=0;
image1.top:=0;
image1.width:=form1.clientWidth;
image1.height:=form1.clientHeight;
image1.canvas.rectangle(-1,-1,image1.width+2,image1.height+2);
for i:=0 to length(spectres)-1 do
spectres[i].draw(image1.canvas);
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
i: longint;
begin
for i:=0 to length(spectres)-1 do
spectres[i].free;
setLength(spectres,0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
setLength(spectres,1);
spectres[0]:=tSpectre.create(100,150,pi/4,30);
end;
end.
|