Entwickler-Ecke
Multimedia / Grafik - Alternative zu TForm.TransparentColor
AScomp - Di 15.01.08 14:55
Titel: Alternative zu TForm.TransparentColor
Hallo,
derzeit suche ich nach einer Alternative für die Eigenschaft TransparentColor einer TForm. Grund: Die Transparenz funktioniert auf älteren Systemen nicht und sorgt außerdem bei VNC für Probleme.
Im Prinzip möchte ich nur, dass eine bestimmte Farbe auf der Form immer transparent dargestellt wird, also auch ohne Form-Hintergrund. Genau das, was TransparentColor macht. So wie ich das sehe wird die Transparenz in letzterem Fall aber direkt von der Grafikkarte erzeugt, ich möchte dies nicht Hardware-abhängig machen.
Hat da jemand eine Lösung?
Danke!
P.S. Möchte auch keine Fremdkomponenten verwenden...
elundril - Di 15.01.08 15:04
einfach den hintergrund hinter dem Form nehmen und aufs form draufzeichenen wäre eine lösung.
lg elundril
AScomp - Di 15.01.08 15:07
Ja, aber das ist doch beim Bewegen und Resizen der Form sicher problematisch...
elundril - Di 15.01.08 16:11
einfach beim onresize nen verweis zum zeichnen und die WM_Move abfangen und da auch nen verweis aufs paint machen.
wär halt so meine idee.
lg elundril
Yogu - Di 15.01.08 19:17
Wie soll er denn herausfinden, was sich hinter der Form befindet, wenn die direkt darüber ist? Dann müsste das Fenster ausgeblendet, der Hintergrund eingelesen, und das Form wieder angezeigt werden. Das führt zu unerwünschten Flackereffekten. Außerdem ist es bei Filmen etc. im Hintergrund auch problematisch, da sich der Hintergrund dann ständig ändert.
turboPASCAL - Mi 16.01.08 19:12
Tipp: CreateRectRgn() und CreateRectRgn();
Damit kann man den sichtbaren Teil einer Form bestimmen / erstellen.
Das funk. zu 100 % ab Win95 bis Vista. ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!