![]() |
TImage Paint To mehrmals aufrufen
Hallo DPler,
mittels PaintTo möchte ich panels auf den canvas eines Timage malen. Das funktioniert auch. Aber genau einmal nur. Jeder weitere aufruf wird ignoriert. Im Grunde soll es so aussehen:
Delphi-Quellcode:
Wie gesagt, das erste mal klappts, jeder folgende wird ignoriert. Offenbar wird der Canvas nicht übermalt, warum?
case ComboBox1.ItemIndex of
0 : Panel1.PaintTo(Image1.Canvas,0,0); 1 : Panel2.PaintTo(Image1.Canvas,0,0); 2 : Panel3.PaintTo(Image1.Canvas,0,0); end; dank und gruß tom |
Re: TImage Paint To mehrmals aufrufen
Einerseits wird ja auch nur immer eine PaintTo Methode aufgerufen, je nachdem was in der Combobox ist und da du die Panels alle an die gleich Kooridnate zeichnest verdecken die sich natürlich gegenseitig also musst du sie versetzt zeichnen
Hoffe geholfen zu haben |
Re: TImage Paint To mehrmals aufrufen
nun, der Plan wäre, dass je nach ComboBox immer ein panel gezeichnet wird und das alte übermalt wird.
habe auch schon image1.repaint und image1.canvas.refresh drin, nutzt aber nix |
Re: TImage Paint To mehrmals aufrufen
Hi,
mit Invalidate ging es bei mir.
Delphi-Quellcode:
image1.Invalidate; case ComboBox1.ItemIndex of 0 : Panel1.PaintTo(Image1.Canvas,0,0); 1 : Panel2.PaintTo(Image1.Canvas,0,0); 2 : Panel3.PaintTo(Image1.Canvas,0,0); end; |
Re: TImage Paint To mehrmals aufrufen
Liste der Anhänge anzeigen (Anzahl: 1)
*aufwärm* das Problem ist noch ungelöst und ich täte Euch um Hilfe bitten:
Hier ein kleines Testprojekt, dass das Problem zeigt:
Delphi-Quellcode:
Falls bequemer habe ich das Projekt angehängt.
panel1.Width := 200 + random(100);
panel1.height := 200 + random(100); image1.Width := panel1.Width; image1.Height := panel1.Height; image1.Invalidate; panel1.PaintTo(image1.Canvas,0,0); Was nun passiert: Beim ersten mal Aufrufen wird das Panel korrekt kopiert, bei den Folgenden Versuchen stimmt width und height nicht mehr, im image wird das Panel abgeschnitten ungeachtet der Übergabe von Height und Width. Was muss man ändern, damit das Panel immer in der richtigen Größe rüberkopiert wird? Danke! |
Re: TImage Paint To mehrmals aufrufen
Liste der Anhänge anzeigen (Anzahl: 1)
Falls das rar-Archiv jemanden abhält, die Dateien als
|
Re: TImage Paint To mehrmals aufrufen
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
deinen Code habe ich nun so abgeändert, dass es richtig funktioniert. |
Re: TImage Paint To mehrmals aufrufen
Danke Dir, funktioniert so!!!
Nur zu meiner Aufklärung, wie man da draufkommt: [ ] war eh klar, muss man doch wissen [ ] ist nicht so trivial, kann man schon übersehen [ ] musste selber 3 Stunden basteln |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 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