Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - abgeleitete Klassen von TPaintbox


mad_progger - Di 21.12.04 13:58
Titel: abgeleitete Klassen von TPaintbox
Hallo,
ich hab mir eine Klasse von TPaintbox abgeleitet und will auf das Canvas zeichnen, aber wenn ich das erste mal zeichnen will, verlangt er ein übergeordnetes Formular.
Was muss ich da noch einfügen, damit es funktioniert?


Delphi-Quelltext
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:
type TSnowfall=class(TPaintbox)
private
snow:array of TPoint;
block:array of Integer;
lengthx,lengthy,grav:integer;
function OP(newp:TPoint):boolean;
procedure reinit(index:integer);
public
Constructor Create(svalue:integer;fieldx,fieldy,g:integer;AOwner: TComponent);
procedure move;
Destructor Destroy;
procedure start;
published
protected
end;

Constructor Tsnowfall.Create(svalue:integer;fieldx,fieldy,g:integer;AOwner: TComponent);
var newp:TPoint;
    i:integer;
begin
inherited create(AOwner);
grav:=g;
setlength(snow,svalue);
setlength(block,fieldx);
for i:=0 to high(block) do block[i]:=lengthy;
width:=fieldx;
height:=fieldy;
lengthx:=fieldx;
lengthy:=fieldy;
for i:=0 to high(snow) do reinit(i);
end;



Delphi-Quelltext
1:
2:
3:
snow:=TSnowfall.Create(10,100,100,1,form1);
snow.Name:='test';
snow.start;


Sprint - Di 21.12.04 14:01


Delphi-Quelltext
1:
2:
3:
4:
snow:=TSnowfall.Create(10,100,100,1,form1);
snow.Parent := Form1;
snow.Name:='test';
snow.start;


sourcehunter - Mi 22.12.04 13:49

Besser ist es das gleich im Constructor zu erledigen, da hast du doch schon aOwner übergeben und schreibst einfach Parent:=aOwner und fertig.


mad_progger - Fr 24.12.04 11:55

Hab ich schon so gemacht aber zu sehen ist immer noch nichts.
Hab jetzt zum Test einfach eine Klasse ohne Zusätze von TPaintbox abgeleitet, aber selbst diese verweigert ihren Dienst, denn man sieht nichts. Wenn ich dann aber per Canvas ein rotes Rechteck zeichnen lasse mit den Koords (10,10,100,100), dann wird alles rot, außer den Koordinaten. Komisch.
Na ja, muss ich nochmal testen. Frohes Fest!