Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Neues Fenster/Formular überschreibt Paintbox


Birne - Fr 20.03.09 13:45
Titel: Neues Fenster/Formular überschreibt Paintbox
Hallo,

ich habe ein Hauptformular mit einem Stringrid, mehreren Buttons und einer Paintbox, auf der Koordinaten eingezeichnet sind.
Mit einem Button kann ich mit dem Befehl neuesFenster.show ein neues Fenster öffnen, in dem mir verschiedene Werte angezeigt werden. So weit so gut...
Nun mein Problem. Sobald ich das Unterfenster schließe, ist der Teil meiner Paintbox mit der Hintergrundfarbe des Hauptformulars gefüllt, so dass ich dieser Teil quasi verschwunden ist. Wenn ich das Unterfenster verschiebe, kann ich immer mehr der Paintbox "übermalen". Das kuriose ist, dass der StrinGrid und die Buttons nicht von diesem Problem betroffen sind und sichtbar bleiben.

Hat jemand eine Idee woran das Liegen kann?

MfG Birne


ffgorcky - Do 21.05.09 20:36

Eigentlich müsste da dorch nur ein einfaches PaintBox1.Refresh; in der Prozedur Form1.OnActivate reichen - oder?


jaenicke - Do 21.05.09 20:56

Nein, es würde reichen die PaintBox korrekt zu benutzen. Vermutlich zeichnest du statt in OnPaint nur irgendwo anders auf die PaintBox, und dann ist der Inhalt eben weg sobald die PaintBox verdeckt wurde.

Benutze OnPaint um beim Neuzeichnen den Inhalt wiederherzustellen.