Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie lösch ich eine Bitmap aus einer Paintbox?? (https://www.delphipraxis.net/129389-wie-loesch-ich-eine-bitmap-aus-einer-paintbox.html)

legalex 18. Feb 2009 09:15


Wie lösch ich eine Bitmap aus einer Paintbox??
 
hi,
gibt es einen einfachen Befehl wie ich eine Bitmap aus ner paintbox löschen kann?? habs schon mit - X ist das Objekt welches die Bitmap enthält - X.Destroy oder auch X.Free versucht. sowohl im forum als auch in google find ich nichts!
vllt kann mir ja hier einer weiter helfen. ich bedanke mich schon mal im voraus für konstruktive vorschläge ;)

mfg

toms 18. Feb 2009 09:19

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
Hallo

Sollte so gehen:
Delphi-Quellcode:
PaintBox1.Canvas.FillRect(PaintBox1.ClientRect);

legalex 18. Feb 2009 10:08

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
hab hier nen timer... der soll in jedem intervall eine bitmap erstellen und dann wieder löschen... die bitmap soll sich also mit der zeit in der paintbox nach unten bewegen.. das problem ist halt nur das ich die bitmaps nicht gelöscht kriege

toms antwort funktioniert nicht... da werden dann überhaupt keine bitmaps mehr angezeigt!

Bemerkung: TetrisBox ist die Paintbox ;)

Delphi-Quellcode:
procedure TForm1.TimerTimer(Sender: TObject);
begin
Brix4 := TBitmap.Create;
Brix4.LoadFromFile(Random_Parts);
Tetrisbox.Canvas.Draw(240,y,brix4);
y:=y+30;
Brix4.Canvas.FillRect(clientrect);
//TetrisBox.Canvas.FillRect(TetrisBox.ClientRect);
if y >= 400 then
  Timer.Enabled := False;
end;

himitsu 18. Feb 2009 10:15

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
dieser Befehl löscht/übermalt die gesamte PaintBox, also mußt du das vorm Neuzeichnen deines Bildes machen :zwinker:

oder du übermalst nur den Teil, welche gelöscht werden soll ... die Position des Rechteckes kannst du ja selbst bestimmen.

PS: vergiß nicht die Farbe zu setzen, bevor du löschts (vorallem Brush.Color)

Delphi-Quellcode:
Brix4 := TBitmap.Create;
Brix4.LoadFromFile(Random_Parts);
TetrisBox.Canvas.BrushColor := {TForm1.}Color;
TetrisBox.Canvas.FillRect(TetrisBox.ClientRect);
Tetrisbox.Canvas.Draw(240,y,brix4);
y:=y+30;
PS: wird dein Brix4 (TBitMap) auch irgendwann wieder freigegeben?

legalex 18. Feb 2009 10:20

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
was meinst du mit freigegeben? ;)

DeddyH 18. Feb 2009 10:23

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
Wenn man Speicher anfordert, sollte man den auch irgendwo wieder freigeben, sonst hat man bald keine Freunde mehr unter seinen Anwendern ;)

Meflin 18. Feb 2009 10:31

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
Zitat:

Zitat von DeddyH
Wenn man Speicher anfordert,

was unter anderem immer dann passiert, wenn du ein .Create aufrufst ;)
Zitat:

Zitat von DeddyH
sollte man den auch irgendwo wieder freigeben

was dann wiederum durch .Free des selben Objekts geschieht.

nuclearping 18. Feb 2009 10:34

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
Normalerweise macht man solche Animationen, wie in deinem Fall, mit Puffer-Bitmaps. Sonst wirst du nicht glücklich werden.

legalex 18. Feb 2009 10:36

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
Zitat:

Zitat von himitsu
oder du übermalst nur den Teil, welche gelöscht werden soll ... die Position des Rechteckes kannst du ja selbst bestimmen.

PS: vergiß nicht die Farbe zu setzen, bevor du löschts (vorallem Brush.Color)

wie würde denn der code dazu aussehen... krieg das irgendwie nicht gebacken :P

nuclearping 18. Feb 2009 10:40

Re: Wie lösch ich eine Bitmap aus einer Paintbox??
 
Zitat:

Zitat von legalex
krieg das irgendwie nicht gebacken :P

Irgendwie hat man auch den Eindruck, du bemühst dich nicht wirklich?

Denn die Antwort steht doch schon hier: http://www.delphipraxis.net/internal...002915#1002915 :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.
Seite 1 von 2  1 2      

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