![]() |
Transparente durchklickbare Form?
Hi DP :hi: :hi: :hi: ,
ich bin zur Zeit auf der Suche nach einer Lösung, womit ich eine Form vollständig durchsichtig und durchklickbar machen kann von Win9x bis WinVista, trotzdem aber alle Komponenten sichbar sind, aber genauso durchklickbar sind. Oder kann ich irgendwie direkt auf das Bild malen und diese Sachen dann noch verschieben? :gruebel: |
Re: Transparente durchklickbare Form?
Da: ;-)
Delphi-Quellcode:
setWindowLong(Handle, GWL_EXSTYLE,
getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_LAYERED); |
Re: Transparente durchklickbare Form?
Gibts da jetzt noch ne Möglichkeit, dass Objekte auf der transparenten Form sichtbar bleiben?
|
Re: Transparente durchklickbare Form?
Jap..du kannst jedes element auf ein Bitmap vorher zeichnen und dann via AlphaBlend (Winapi) auf den orginal DC rüberschieben.
|
Re: Transparente durchklickbare Form?
Hui, auch nach längerem Suchen hab ich zu deinem Tipp keine Hilfe gefunden. Gibst du mir nochmal einen, wie das geht?
Danke |
Re: Transparente durchklickbare Form?
Zuerstmal erzeugst du dir ein Bitmap via TBitmap.Create.
Statt wie normal mit canvas.draw usw... zeichnest du das Control bzw. die Form auf das Bitmap. Anschließend nutzt du die AlphaBlend-Funktion der Windows-Api und kopierst das ganze auf den normalen Canvas (bzw. DC was canvas.handle entspricht). Genaue Hilfe zu AlphaBlend findest du in der PSDK :) |
Re: Transparente durchklickbare Form?
wie wäre es wenn du ne hässliche farbe aussuchst, diese als transparent color definierst und dann Formtransparent auf true setzen.
lg elundril |
Re: Transparente durchklickbare Form?
Danke Ghost, ich versuchs mal.
Ja, elundril, das hab ich schon probiert, mein Prob ist dann, dass ich das Fenster nicht im Vordergrund einer fremden Anwendung halten kann, sobald ich auf die Form klicke, verschwindet es im Hintergrund der fremden Anwendung. Dazusagen muss ich, dass mein transparentes Fenster nicht das Mainfenster ist, sondern von dem per FormShow aufgerufen wird. Mit dem Mainfenster geht es, dass man einfach durchklickt und es trotzdem im Vordergrund bleibt, mit dem Childfenster nicht. Warum, weiß ich nicht. Danke für die Tipps. Nette Grüße |
Re: Transparente durchklickbare Form?
geht nicht wenn du den Form... Style (glaub ich) auf fsStayOnTop setzt?
lg elundril |
Re: Transparente durchklickbare Form?
Wenn ich das mache, geht es mit dem Hauptfenster, aber nicht mit dem per FormShow aufgerufenen Child.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz