![]() |
Löschen einer Paintbox verhindern
Hallo,
ich stelle Phasenverläufe und Drehfelder grafisch dar. Dazu zeichne ich meine Daten auf den Canvas zweier Paintboxen. Klappt soweit auch gut. Wenn ich meine Anwendung vom primären Monitor auf meinen zweiten Monitor verschiebe werden die erzeugten Grafiken gelöscht. Kann ich eine Paintbox "einfrieren" nachdem ich die Grafik erzeugt habe? Für eine Idee wär ich dankbar. Gruß Holger. :gruebel: |
Re: Löschen einer Paintbox verhindern
Hallo,
du könntest im OnPaint-Ereignis deine Zeichenoperationen durchführen. |
Re: Löschen einer Paintbox verhindern
Effektiver ist es auf ein Bitmap im Speicher zu zeichnen und es bei Bedarf auf den Canvas der Paintbox zu kopieren.
|
Re: Löschen einer Paintbox verhindern
Ich nutze den Canvas weil ich die erzeugten Grafiken parralel auch als Bitmap (Datei) ablege.
|
Re: Löschen einer Paintbox verhindern
Zitat:
Das Zeichnen auf den Canvas einer Paintbox ausserhalb des OnPaint-Ereignis wäre ein Fehler. Falls das Zeichen viel Zeit kostet, ist die Paintbox nicht das richtige Control. Dann sollte man ein TImage verwenden. |
Re: Löschen einer Paintbox verhindern
Der umgekehrte Weg?
Erst das Bitmap erzeugen und danach die Paintbox füllen? Ist das nicht dasselbe wie direkt in die Paintbox zu zeichnen? Ich werde es versuchen. |
Re: Löschen einer Paintbox verhindern
Wenn ich sowiso vorher das Bitmap erzeuge kann ich auch eine Timage Komponente verwenden ...
[Schreibfehler] |
Re: Löschen einer Paintbox verhindern
Zitat:
![]() |
Re: Löschen einer Paintbox verhindern
Hab schon in der Hilfe nachgesehen, aber was bitte ist "bitblt" ?
|
Re: Löschen einer Paintbox verhindern
![]()
Delphi-Quellcode:
Natürlich könntest du auch Canvas.Draw nutzen, nur ist dies meines Wissens etwas langsamer, bin mir aber nicht sicher.
procedure TForm1.FormPaint(Sender: TObject);
begin BitBlt(PaintBox.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle, 0, 0, SRCCOPY); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 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