hi
ich will ein gezeichnetes rechteck auf meiner canvas verschieben. das will ich realisieren, indem ich das rechteck erst an den alten koordinaten lösche (indem ich es erneut invertiert zeichne) und danach an den neuen korrdinaten zeichne.
das funzt aber irgendwie ned.. ich bin ziemlicher delphi anfänger und hab keinen ahnung woran das liegt :[
hiermal der relevante code
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
[...]
canvas.pen.mode := pmNOTXOR;
canvas.brush.Style := bsSolid;
canvas.Pen.Color := clblack;
canvas.pen.width := 2;
end;
procedure tTeil.zeichnen;
begin
Form1.Image.Canvas.Rectangle(x-20, y-20, x+20, y+20);
if aktiv = true then
Form1.Image.Canvas.Rectangle(x-18, y-18, x+18, y+18);
end;
procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var aktTeil, altTeil: tTeil;
begin
..
[liest aus liste das in frage kommende Teil aus.. funzt 100%]
..
if (cModus = 'verschieben') then
begin
altTeil.zeichnen;
AktTeil.zeichnen;
end;
..
hoffe ihr seht meinen fehler :]
greez