Thema: Prism LineTo "löschen" ...

Einzelnen Beitrag anzeigen

Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#9

Re: LineTo "löschen" ...

  Alt 23. Nov 2005, 20:23
Aber auf sienem Screenshot ist zu erkennen, dass er Delphi7 nutzt, also sollte man auch entsrpechend antworten @faux
Aber ich kann das gut nachvollziehen, ich hab auch überlegt, ob ich ne .NET-Lösung vorschlage

@kezboard: Nachdem du mit Delphi7 arbeitest, wähle bitte nicht Delphi.NET als Sprache aus, sondern Win32
Im Delphi7-Handbuchsatz wird das ganz einfach so gemacht, dass man sich den Punkt merkt, von dem die Linie ausgeht. Wenn man dann die Maus bewegt, wird die neue Linie gezeichnet und die alte gelöscht.

Wir brauchen folgende Variablen:
Drawing: Boolean;
Origin, MovePt: TPoint;

Im OnMouseDown der Form/PaintBox/wasauchimmer:
Delphi-Quellcode:
Drawing := true;
Canvas.MoveTo(X, Y);
Origin := Point(X, Y);
MovePt := Point(X, Y);
Im MouseUp:
Delphi-Quellcode:
Canvas.MoveTo(Origin.X, Origin.Y);
Canvas.LineTo(X, Y);
Drawing := false;
Im MouseMove:
Delphi-Quellcode:
if Drawing then
  begin
   Canvas.Pen.Mode := pmNotXor;
   Canvas.MoveTo(Origin.X, Origin.Y);
   Canvas.LineTo(MovePt.Y, MovePt.Y);
   Canvas.MoveTo(Origin.X, Origin.Y);
   Canvas.LineTo(X, Y);
  end;
 MovePt := Point(X, Y);
 Canvas.Pen.Mode := pmCopy;
Julian J. Pracht
  Mit Zitat antworten Zitat