Thema: Delphi invertierend zeichnen

Einzelnen Beitrag anzeigen

goddi

Registriert seit: 6. Jan 2004
4 Beiträge
 
#1

invertierend zeichnen

  Alt 7. Jan 2004, 09:05
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
  Mit Zitat antworten Zitat