durchsichtige und durchklickbare Form

LOK

Mitglied
Hallo @ll,

ich habe mal wieder ein Problem ^^

und zwar benötige ich ein Script, welches eine Form durchsichtig und durchklickbar macht....

was ich damit meine?

es sollen Informationen auf dem Bildschim eingeblendet werden (kleine Icons), jedoch halbdurchsichtig.... und ggf. darunterliegende Buttons von anderen Programmen, sollen nicht verdeckt sein... d.h. wenn man dort klickt, klickt man den Button des sich dort befindenden Programmes und nicht die Grafik meines Programmes (die ja darüber liegt)
des weiterern sollte das ganze always-on-top sein...

hat irgendjemand einen Lösungsansatz?
(also ich meine jetzt im Speziellen für die Durchklickbarkeit, das andere sollte eigentlich kein problem sein)

LG

LOK
 
Puh.. schwierg.
Weiß nicht, ob das mit VB6 machbar ist. Dein Form unsichbar machen müsste eigentlich mit Formname.visible = FALSE gehen, aber das die Buttons darunter weiterhin anklickbar bleiben, ist unwarscheinlich. Mmm.. wenn du nur kleine Icons in der Art Vista Widgets machen möchtest, würde ich die Form möglichst klein und schmal halten.

Mit dem "immer im Vordergrund" bin ich nur für .NET fündig geworden:
Code:
Private Declare Function SetWindowPos Lib "User32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long,_ ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 
Sub SetTop(hwnd As Long, Top As Boolean) 
 If Top = True Then 
   SetWindowPos hwnd, -1, 0, 0, 0, 0, 3 
 Else 
   SetWindowPos hwnd, -2, 0, 0, 0, 0, 3 
 End If 
End Sub 

Beispiel:
 
Private Sub Form_Load() 
  SetTop Me.hwnd, True 
End Sub
Quelle:http://www.vb-magazin.de/KnowledgeBase/article.aspx?ID=10023

Vielleicht hilft aber auch dieser Tipp von ActiveVB:
http://www.activevb.de/tipps/vb6tipps/tipp0214.html

Viele Grüße,
Jacka
 
hmm nein sry... vielleicht habe ich mich falsch ausgedrücke...

mein Programm soll lediglich eine art halb-durchsichtiges Bild auf den Bildschirm bringen... dabei sollen aber alle anderen Programme noch benutzbar sein.
Wie ich eine Form durchsichtig machen kann habe ich schon mehrfach in Foren gefunden... Alway-on-Top ist auch nicht so das problem, das problem ist nur, dass der klick "durch" das Bild gehen muss

LG

LOK
 
Zuletzt bearbeitet:
hmm hat keiner ne idee wie ich so ein durchklickbares, halb transparentes bild hinbekomme?
 
Ist ein Problem, an dem ich auch seit einiger Zeit knabbere. Leider hab ich bislang nichts zu dem Thema gefunden, sieht leider schlecht aus. Wenn ich irgendwann mal was habe, liefer ich es natürlich hier nach. Mach dir aber keine zu großen Hoffnungen.


Der Doc!
 
Mal wieder Leichen fleddern :p

Ist das Problem mittlerweile gelöst? Weil ich hätte ne Lösung (allerdings ungetestet, vielleicht mal als Ansatz für euch)....

Den DoubleClick auf der durchsichtigen Form abfangen im DoubleClick-Event der Form, die Koordinaten der durchsichtigen Form feststellen, auf welcher der DoubleClick stattgefunden hat, diese Koordinaten auf das Desktop-Fenster umrechnen (bzw. auf das Fenster, was den DoubleClick eigentlich erhalten soll). Handle des Fensters, was untendrunter liegt (Bsp. Desktop), mit FindWindow ermitteln.

Der Zauberspruch, der dann den DoubleClick an das drunterliegende Fenster weiterleitet, heisst "SendMessage(frmHandle, WM_LBUTTONDBLCLK, 0, lparam)", wobei in lparam die entsprechenden Koordinaten des empfangenden Fensters enthalten sind, wobei gilt:

lParam:
The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.
The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

So, genug der Leichenfledderei.
 
Zurück