Registriert seit: 16. Dez 2005
Ort: Odenthal
134 Beiträge
Delphi 6 Personal
|
Re: Minipaint - Kreis von Mittelpunkt aufziehen
16. Dez 2005, 20:54
Anfang:
Delphi-Quellcode:
procedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var SeiteA,SeiteB,Seite1:integer;
H:TPoint;
StartPunkt:Boolean;
begin
If StartPunkt=True
then begin
Quadrat:
Delphi-Quellcode:
SeiteA:=Abs(SP.X-X);
SeiteB:=Abs(SP.Y-Y);
if (SeiteA>SeiteB) and (X<>SP.X) and (Y<>SP.Y)
then Seite1:=SeiteB
else Seite1:=SeiteA;
if X<SP.X
then H.X:=Sp.X-Seite1
else H.X:=SP.X;
if Y<SP.Y
then H.Y:=SP.Y-Seite1
else H.Y:=SP.Y;
paintbox.Canvas.Rectangle(H.X,H.Y,H.X+Seite1,H.Y+Seite1);
StartPunkt:=False;
end
Rechteck:
Delphi-Quellcode:
if X<SP.X
then begin
SeiteA:=SP.X-X;
H.X:=X;
end
else begin
SeiteA:=X-SP.X;
H.X:=SP.X;
end;
if Y<SP.Y
then begin
SeiteB:=SP.Y-Y;
H.Y:=Y;
end
else begin
SeiteB:=Y-SP.Y;
H.Y:=SP.Y;
end;
paintbox.Canvas.Rectangle(H.X,H.Y,H.X+SeiteA,H.Y+SeiteB);
StartPunkt:=False;
end
Ende:
Delphi-Quellcode:
else
SP.X:=X;
SP.Y:=Y;
StartPunkt:=True;
jetzt musst du nur noch unter Private die Variable SP als TPoint deklarieren und dann sollte es gehen.
Roman
|
|
Zitat
|