Entwickler-Ecke
Multimedia / Grafik - Beim Löschen der Paintbox wird Programm weiß
Matty92 - So 09.05.10 22:33
Titel: Beim Löschen der Paintbox wird Programm weiß
Hi,
ich habe eine Paintbox, die ich mit:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Button4Click(Sender: TObject); begin brush.Color:=clwhite; paintbox1.Canvas.FillRect(PaintBox1.clientRect); end; |
lösche. Aber sobald sich ein Fenster über die Form legt, wird dieser Bereich weiß.
Wenn ich aber brush.color:=clbtnface; hinzufüge, ändert sich die Farbe der Form nicht, aber die Paintbox kriegt die Farbe des Fensters.
Kann man das irgendwie verhindern?
Viele Grüße,
Matty
jaenicke - So 09.05.10 22:35
Du musst bei einer PaintBox schon OnPaint benutzen. Darüber wirst du benachrichtigt, dass der Inhalt der PaintBox neu gezeichnet werden muss, z.B. weil ein anderes Fenster diese verdeckt hat und dadurch der Inhalt weg ist.
In OnPaint muss dann der Inhalt der PaintBox neu gezeichnet werden.
Matty92 - Di 11.05.10 19:37
jaenicke hat folgendes geschrieben : |
Du musst bei einer PaintBox schon OnPaint benutzen. Darüber wirst du benachrichtigt, dass der Inhalt der PaintBox neu gezeichnet werden muss, z.B. weil ein anderes Fenster diese verdeckt hat und dadurch der Inhalt weg ist.
In OnPaint muss dann der Inhalt der PaintBox neu gezeichnet werden. |
Hm, ok. Hast du ein Codebeispiel zur Verwendung von onpaint? Ich werde aus der Delphihilfe nicht schlau.
Klappt das auch mit iterativen Zeichnen? Ich lasse in einer Schleife punkte zeichnen, die ich zuvor berechnete und die Punkte werden nirgendswo gespeichert.
Martok - Di 11.05.10 19:42
Matty92 hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.Button4Click(Sender: TObject); begin brush.Color:=clwhite; paintbox1.Canvas.FillRect(PaintBox1.clientRect); end; | |
Na, was fällt auf? Richtig, falscher Brush. Du meinst eher Paintbox.Canvas.Brush.
Matty92 - Di 11.05.10 20:21
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Danke :).
Das ist mir wirklich nicht aufgefallen. Ich wusste nicht, dass es verschiedene Brushes geben kann, das ist auch mein erstes Delphiprogramm mit GUI.
Matty92 - Mi 12.05.10 18:52
Hi Jaenicke,
danke für den Link, das Umstellen hat prima geklappt, auch das Flackern hab ich mit doublebuffered:=true weggekriegt :).
Viele Grüße,
Matty
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!