Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Transparente durchklickbare Form? (https://www.delphipraxis.net/82256-transparente-durchklickbare-form.html)

TurboMartin 9. Dez 2006 15:34


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:

christian.noeding 24. Jun 2007 10:24

Re: Transparente durchklickbare Form?
 
Da: ;-)

Delphi-Quellcode:
  setWindowLong(Handle, GWL_EXSTYLE,
    getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_LAYERED);

simjoh 4. Jul 2007 07:25

Re: Transparente durchklickbare Form?
 
Gibts da jetzt noch ne Möglichkeit, dass Objekte auf der transparenten Form sichtbar bleiben?

Ghostwalker 4. Jul 2007 20:30

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.

simjoh 6. Jul 2007 20:26

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

Ghostwalker 6. Jul 2007 20:42

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 :)

elundril 6. Jul 2007 20:49

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

simjoh 6. Jul 2007 23:37

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

elundril 7. Jul 2007 13:55

Re: Transparente durchklickbare Form?
 
geht nicht wenn du den Form... Style (glaub ich) auf fsStayOnTop setzt?

lg elundril

simjoh 7. Jul 2007 22:09

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 17:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz