Autor Beitrag
Thunderman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 26



BeitragVerfasst: Sa 14.09.02 16:50 
Hallo!

Habe mir ein paar eigene Komponenten geschrieben, darunter auch eine von TForm abgeleitete. Wenn ich nun aber eine von TCustomControl abgeleitete Komponente (eine Art transparentes Panel) neu zeichnen will, bleibt an der Stelle ein grauer Streifen, statt Transparenz. Daher wollte ich die Paint-Methode vom Parent (der von TForm abgeleiteten Kompo) aufrufen. Dann verschwinden aber alle anderen Kompos, bis auf die, die Paint aufgerufen hat. Wenn man die Anwendung aber minimiert und dann wieder maximiert, also Windows sie neuzeichnen muss, funktioniert alles.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mo 16.09.02 11:14 
Hi!

Hmm, zwei Ideen:

1-
Sehr wahrscheinlich wird eben schon durch TCustomControl.Paint dieser graue Streifen gezeichnet. Deshalb mal die Paint-Methode übersteuern und dort nicht inherited aufrufen.

2-
Simuliere doch einfach Transparenz. Schnappe dir in ein Bitmap genau die Zeichenfläche des Parents, die deine Komponente bedecken würde, und male sie auf den Canvas deiner Komponente.

Cu, :D
Udontknow