Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Fenster "durchklickbar" machen (https://www.delphipraxis.net/19181-fenster-durchklickbar-machen.html)

fxbasic 30. Mär 2004 16:41


Fenster "durchklickbar" machen
 
Hi, ich habe ein Programm das immer im Vordergrund liegt aber transparent dargestellt wird, sodass man alles dahinter immer noch sehen kann. Wie kann ich mein Prog so einstellen dass es weiterhin transparent im VG angezeigt wird, bei einem Mausklick aber die Elemente in dem dahinterliegenden Fenster reagieren, sodass mein Prog also "durchklickbar" wird. Dies sollte nach Mglkt. aber nur für die linke Maustaste gelten.

Danke im Voraus, fxbasic

neolithos 30. Mär 2004 16:42

Re: Fenster "durchklickbar" machen
 
Bei Delphi 7 mittels AlphaBlend und AlphaBlendValue

oder den Brush.Style des Fenster auf bsClear stellen.

fxbasic 30. Mär 2004 16:43

Re: Fenster "durchklickbar" machen
 
Zitat:

Zitat von neolithos
Bei Delphi 7 mittels AlphaBlend und AlphaBlendValue

oder den Brush.Style des Fenster auf bsClear stellen.

Ich hab leider nur Delphi 6 :?

Kinimod8 30. Mär 2004 16:47

Re: Fenster "durchklickbar" machen
 
Zitat:

Zitat von neolithos
oder den Brush.Style des Fenster auf bsClear stellen.


SirThornberry 30. Mär 2004 16:51

Re: Fenster "durchklickbar" machen
 
bei Alpablend kann man nur durchklicken wenn das fenster zu zu 100% durchsichtig ist oder du die Transparentfarbe gesetzt hast. Transparenzfarbe wäre ein weiterer ansatzpunkt über den du es probieren könntest. Alles was transparent ist, ist auch durchklickbar.

Seit wann macht Brushstyle = bsclear das fenster durchklickbar?? wird da nicht nur nichts gezeichnet??

Wenn du es irgendwann hinn bekommen hast ein halbtransparentes Fenster durchklickbar zu machen würde mich auch mal interessieren wie du das hinn bekommen hast

neolithos 30. Mär 2004 16:59

Re: Fenster "durchklickbar" machen
 
Bursh.Style := bsClear macht das gesamt Fenster unsichtbar!

Ich wußte nur nicht was er meint!

Neuni 30. Mär 2004 16:59

Re: Fenster "durchklickbar" machen
 
Liste der Anhänge anzeigen (Anzahl: 1)
guck dir das hir mal an, da kann man auch durchklicken.

neolithos 30. Mär 2004 17:01

Re: Fenster "durchklickbar" machen
 
Ach durchklickbar, ich las leider durchblickbar. Warum braucht man sowas? :gruebel:

fxbasic 30. Mär 2004 17:04

Re: Fenster "durchklickbar" machen
 
Danke, werd ich mal anschauen!

yankee 30. Mär 2004 17:09

Re: Fenster "durchklickbar" machen
 
Soll durchklickbar im Sinne von durchklickbar wie bei einer Installation gemeint sein? Wo man so drei mal auf weiter klicken muss?
Ich meine sowas hätte ich nämlich mal gesehen unter Da(oder wie das oben links auch immer heißt) -> neu -> sonstige

SirThornberry 30. Mär 2004 17:10

Re: Fenster "durchklickbar" machen
 
Also wenn ich brushstyle auf bsClear setze ist das fenster nicht unsichtbar sonder es wird einfach nicht gepaintet. Wenn ich das Fenster dann verschiebe sehe ich somit das es nicht wirklich durchsichtig ist sondern nur der untergrund nicht übermalt wurde...

SirThornberry 30. Mär 2004 17:13

Re: Fenster "durchklickbar" machen
 
@neuni: Leider ist das form auch vollständig durchsichtig und nicht nur etwas transparent :cry:

Mirilin 30. Mär 2004 18:38

Re: Fenster "durchklickbar" machen
 
:hi:

:gruebel: Mein D6 versteht AlphaBlend.

mfg Tobias


ps : Klick

himitsu 30. Mär 2004 19:04

Re: Fenster "durchklickbar" machen
 
Also bei halbtransparent kann man ja nicht durchklicken - das geht nur bei 100% durchsichtig (wie z.B. durch das Loch aus Miri's Klick).

Das Halbtransparente ging auch schon bei meinem D4 (siehe letzte Anzwort in Alphablend)

Den Klick auf das eigene Programm zu bekommen ist ja nicht das Problem und dann gibt es doch auch bestimmt 'ne Möglichkeit das Handle des Fensters hinter deinem Programm zu bekommen und den Mausklick+Clickposition z.B. über 'ne Windowsbotschaft an dieses zu schicken. :gruebel:


@Miri: der Parameter AlphaBlend ist eventuell schon im D6 eingebaut, wird aber vieleicht noch nicht im OI angezeigt - so wie die 98-Unterstützung (aus XP bekannt) schon in 2000 drin ist (man muß die nur irgendwo in der Registry aktivieren)...

me2u 30. Okt 2006 19:30

Re: Fenster "durchklickbar" machen
 
Ich weiß: Dieser Thread ist extrem alt, der Vollständigkeit halber wollte ich ihn aber trotzdem ergänzen. Ich habe mir selbst einen Wolf gesucht um dieses Problem zu lösen und bin soeben auf eine extrem simple, aber funktionale Lösung gestoßen.

Das hier ist alles, was man dafür im Grunde braucht:
Delphi-Quellcode:
SetWindowLong(Handle, GWL_EXSTYLE, getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_LAYERED);
Das entscheidende ist die Style Konstante "WS_EX_LAYERED". Sie sorgt dafür, dass die Klicks an das darunter befindliche Fenster gehen und nicht mehr vom eigenen Fenster abgefangen werden.

Ich hoffe es wird dem einen oder der anderen von Nutzen sein.

simjoh 7. Jul 2007 22:38

Re: Fenster "durchklickbar" machen
 
Hi,

also bei mir verschwindet das Fenster dann vollständig, ist garnicht mehr zu sehen. Die Objekte auf dem Fenster sollen aber doch sichtbar bleiben, wie geht sowas?

_frank_ 7. Jul 2007 23:06

Re: Fenster "durchklickbar" machen
 
schonmal regions ( http://msdn2.microsoft.com/en-us/library/ms536680.aspx ) angeschaut?

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 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