AGB  ·  Datenschutz  ·  Impressum  







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

canvas wird überschrieben

Ein Thema von me57 · begonnen am 18. Apr 2013 · letzter Beitrag vom 22. Apr 2013
 
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: canvas wird überschrieben

  Alt 18. Apr 2013, 02:06
Wenn ich nun ein zweites Formular(fenster) in der Anwendung aufrufe werden die gezeichneten Linien mit dem Fenster wegradiert ...
nicht so schön ... wie kann ich das unterbinden mit Lock und unlock oder sowas?? hab da noch keine Lösung ...
Spendiere deiner Zeichenmethode eine eigene private Procedure:
Delphi-Quellcode:
procedure TForm1.Zeichnen;
begin
     Form1.Canvas.MoveTo(10,500);
     Form1.Canvas.LineTo(300,500);
end;
Rufe in OnPaint deines Formulars diese Methode auf:
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
begin
     Zeichnen;
end;
Begründung: Der ursprünglichen OnPaint-Methode deiner Formular-Instanz ist die Methode Zeichnen nicht bekannt, weshalb beim Repaint deines Formulars auch nur das wiederhergestellt wird, was eigentlich zum Formular gehört. Mit dem zusätzlichen Code in OnPaint erweiterst du praktisch die On-Paint-Methode deines Formulars, so daß bei einem Neuzeichnen des Formulars auch deine Linien wieder gezeichnet werden.

Geändert von Perlsau (18. Apr 2013 um 02:10 Uhr) Grund: Technische Grundlagen ergänzt
  Mit Zitat antworten Zitat
 


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:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz