AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Punkte verbinden -> Linie löschen

Ein Thema von hirnstroem · begonnen am 10. Apr 2006 · letzter Beitrag vom 10. Apr 2006
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

Punkte verbinden -> Linie löschen

  Alt 10. Apr 2006, 10:54
'loha Folks,

zwei Punkte werden miteinander wie folgt verbunden:

Delphi-Quellcode:
with img_3d_verbindung do
begin
  Canvas.FillRect(ClientRect);
  Canvas.MoveTo(img_door_l.Top, (img_door_l.Left + img_door_l.Width)); //Startpunkt der Linie
  Canvas.LineTo (shp_3d_vertical.Left, shp_3d_vertical.Top); //Endpunkt der Linie
  Canvas.Pen.Width := 1;
  Canvas.Brush.Style := bsClear;
  Canvas.Pen.Color := clRed;
end;
Nun habe ich das Problem, dass das oben genannte Ereignis relativ viele male durchlaufen wird und mir immer mehr Linien auf das Formular gezeichnet werden. Leider finde ich keine Möglichkeit, nur diejenige Linie anzuzeigen, welche momentan auch wirklich gebraucht wird.

Hat jemand eine Idee, wie die jeweils letzte Linie ausradiert werden könnte?

Grüsse
hirnstroem
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Punkte verbinden -> Linie löschen

  Alt 10. Apr 2006, 11:02
Du könntest einfach mit weiss drüber malen?
Alternativ stellst du den Penmode auf PmXor. Wenn du dann eine Linie malst, wird der Hintergrund mit der Stiftfarbe per Xor verrechnet. D.h., wenn du die Linie mit den gleichen Einstellungen noch mal zeichnest, verschwindindet sie wieder.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Punkte verbinden -> Linie löschen

  Alt 10. Apr 2006, 21:39
Du solltest vor dem Füllen die Füllfarbe setzen und das Füllmuster auf bsSolid stellen:

Delphi-Quellcode:
with img_3d_verbindung do
begin
  Canvas.Brush.Color := clWhite; // <<--- hier!
  Canvas.Brush.Style := bsSolid; // <<--- hier!
  Canvas.FillRect(ClientRect);
  Canvas.MoveTo(img_door_l.Top, (img_door_l.Left + img_door_l.Width)); //Startpunkt der Linie
  Canvas.LineTo (shp_3d_vertical.Left, shp_3d_vertical.Top); //Endpunkt der Linie
  Canvas.Pen.Width := 1;
  Canvas.Brush.Style := bsClear;
  Canvas.Pen.Color := clRed;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz