![]() |
paintbox.canvas
ich habe auf eine paintbox mit canvas etwas gezeichnet. wenn ich jetzt irgendein anderes fenster darüberschiebe, wird alles gezeichnete ausradiert. wie kann ich dies verhindern?
|
Re: paintbox.canvas
Entweder du nimmst ein Image und zeichnest dort rein (Image1.Canvas), oder du zeichnest in ein BitMap (TBitMap) und weist dieses BitMap der PaintBox zu.
Letzteres ist die bessere Variante. (schneller und Resourcen schonender) Das Erste ist nur einfacher. (man braucht sich halt um nichts zu kümmern)
Delphi-Quellcode:
Diese Variante gibt es auch noch, um die PaintBox neuzuzeichnen
Var TempBitMap: TBitMap;
Procedure TForm1.FormCreate(Sender: TObject); Begin TempBitMap := TBitMap.Create; TempBitMap.Width := PaintBox1.Width; TempBitMap.Height := PaintBox1.Height; End; Procedure TForm1.FormDestroy(Sender: TObject); Begin TempBitMap.Free; End; Procedure TForm1.PaintBox1Paint(Sender: TObject); Begin PaintBox1.Canvas.Draw(0, 0, TempBitMap); End; Procedure irgendeine... Begin {zeichnen} TempBitMap.Canvas.Ellipse(10, 20, 30, 40); {PaintBox neuzeichnen} PaintBox1Paint(nil); End;
Delphi-Quellcode:
Procedure irgendeine...
Begin ... {PaintBox neuzeichnen} PaintBox1.Repaint; End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 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