Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Durch Form "hindurch" klicken (https://www.delphipraxis.net/133703-durch-form-hindurch-klicken.html)

Schubi 7. Mai 2009 08:01


Durch Form "hindurch" klicken
 
Hallo zusammen!

Ich bin gerade dabei mein Arbeitszeit-Verwaltungstool um eine auf dem Desktop angezeigte Uhr zu erweitern.

Ich generiere eine Bitmap, lade sie in ein TImage und mache das ganze transparent.
Das Form ist auch transparent. Bleibt also nur noch "das Runde".
Alphablending ist an. wenn ich mit der Maus auf die Uhr gehe, wird die Transparent erhöht, so dass nichts stört.
Alles schön und gut soweit.

Nur würde ich gerne die Uhr quasi hindurchklickbar machen.
Sprich also, wenn man drauf klickt, wird der Klick an das dahinter liegende Fenster weitergegeben.

Habe jetzt schon eine Uhr auf dem Desktop, die dan kann (ClocX).


Kann mir jemand einen Tipp geben, wie ich das angehen sollte?

Grüßle,
Schubi

DeddyH 7. Mai 2009 08:07

Re: Durch Form "hindurch" klicken
 
Meinst Du so etwas? http://www.delphipraxis.net/internal...=633055#633055

Schubi 7. Mai 2009 08:24

Re: Durch Form "hindurch" klicken
 
Danke für den Link. Hab ich garnicht gefunden den Thread.

Im groben ja, aber da sind ja nur die Transparenten Bereiche "durchklickbar".
Ich will, dass jeglicher Mausklick auf das Fenster auf das dahinter weitergegeben wird.

Delphi-Quellcode:
SetWindowLong(Handle, GWL_EXSTYLE, getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_LAYERED);
^^
Werd ich mal ausprobieren.

turboPASCAL 7. Mai 2009 08:31

Re: Durch Form "hindurch" klicken
 
Zitat:

Im groben ja, aber da sind ja nur die Transparenten Bereiche "durchklickbar".
Nö. Das komplette Fenster ist dann für den Mauszeiger durchsichtig.

Schubi 7. Mai 2009 08:39

Re: Durch Form "hindurch" klicken
 
Liste der Anhänge anzeigen (Anzahl: 1)
:?:

Wenn ich ein rechteckiges Fenster habe, mit einer runden Uhr, und das über Form.TransparentColor durchsichtig mache,
dann habe ich nur noch das Runde. Der rest ist durchklickbar. Aber wenn ich ins Fenster klicke, kommt dahinter nix an.

DeddyH 7. Mai 2009 08:41

Re: Durch Form "hindurch" klicken
 
Wo ist denn die Codezeile mit dem SetWindowLong?

Schubi 7. Mai 2009 08:44

Re: Durch Form "hindurch" klicken
 
Noch nicht drin.
Das funktioniert aber.
Nur hab ich dan kein OnMouseEnter mehr um den Alphablend-Value zu erhöhen :|

QuickAndDirty 7. Mai 2009 08:53

Re: Durch Form "hindurch" klicken
 
Aber einen Timer und das Mouse Objekt?

Schubi 7. Mai 2009 09:07

Re: Durch Form "hindurch" klicken
 
Zitat:

Zitat von QuickAndDirty
Aber einen Timer und das Mouse Objekt?

Wie meinst du?

Würde jetzt halt gerne noch erreichen, dass wenn es durchklickbar ist, beim OnMouseEnter das Alphablend stärker wird.

Müsste ich jetzt die Systemweite Mausposition abfragen und darauf reagieren?

DeddyH 7. Mai 2009 09:14

Re: Durch Form "hindurch" klicken
 
Zitat:

Zitat von Schubi
Müsste ich jetzt die Systemweite Mausposition abfragen und darauf reagieren?

So hab ich das verstanden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr.
Seite 1 von 2  1 2      

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