Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Form Transparent under W7 64bit


mc_eddy - Mi 04.04.12 20:19
Titel: Form Transparent under W7 64bit
Hallo,

ich habe folgendes Problem.

Das Form meines prg. (braucht den kompletten Screen) habe ich mittels Transparency Color den form hintergrund transparent gemacht.

Auf der Form sind buttons als image dargestellt, diese werden nicht Transparent, sollen ja betätigt werden können.


Nun habe ich folgendes Problem:

Unter XP und W7(32bit) leuft alles wie gewollt ich kann die Buttons betätigen, und ein Programm was sich hinter meinem Transparenten Form befindet ist auch noch bedienbar ( quasi ist der Form "Durchklickbar").

Unter W7(64) bit legt sich der Transparente Form komplett über alle bereits vorhandenden Fenster, und diese sind nicht mehr Bedienbar ("Klickbar").


Hat jemand einen Lösungsansatz ?

MfG
Markus


p.s. das ganze ist mit Delphi 6 Erstellt


jaenicke - Do 05.04.12 08:40

Im Anhang liegt ein mit Delphi XE erstelltes Projekt, das ein Fenster mit einem Memofeld und zwei Buttons enthält, maximiert auf den ganzen Bildschirm ist und transparent. Bei mir funktioniert das unter Windows 7 64-Bit absolut problemlos.

Wenn die Exe bei dir funktioniert, liegt es an einem Fehler in Delphi 6.


mc_eddy - Do 05.04.12 18:24

Danke,

leider find ich den anhang nicht ?.


jaenicke - Do 05.04.12 18:59

Oh, stimmt, ich sehe auch keinen, tut mir leid, den habe ich dann wohl vergessen. :gruebel: Hier ist er.


mc_eddy - Do 05.04.12 20:10

Danke,

habe mich wohl etwas falsch ausgedrückt sorry.

Das mit der Transparenz ist ok , mein form bleibt aber immer im Vordergrund, so das die Tasten immer Betätigt werden können :-)

Sorry

Gruß
Markus


jaenicke - Do 05.04.12 20:18

Ok, heute ist nicht mein Tag, bin wohl noch etwas müde... da fehlten die passenden Formulareinstellungen, da habe ich wohl vergessen das Zip nochmal zu erstellen. Hier nochmal richtig...


mc_eddy - Do 05.04.12 20:39

Super,
dank dir, so leufts auch unter W7 64 bit,

werd das mal mit Delphi 6 Probieren, ansonsten steht n Compiler Update an :-)

Gruß
Markus

p.s. das ganze leuft mit normalen Fenstern super, aber der VLC z.b. legt sich trotzdem davor, ->Stay on top im Form reicht anscheinend nicht ganz ;-).

Bisher hab ich das so gehandelt, das ich geprüft habe (per Timer) ob mein Form im Vordergrund liegt, und wenn nicht das zum Vordergrundfenster gemacht.

Ein unschöner effekt tritt auf wenn sich jetzt eine Anwendung z.b mit DirectDraw davor legt, dann tritt ein Flackern auf.
(im Timer Intervall)

Hat jemand evtl noch einen besseren Ansatz (ohne Timer) ?


Nochmals Danke,

Gruß


Gausi - Do 05.04.12 21:17

Wenn deine Form immer im Vordergrund sein muss, und diesen Zustand per Timer immer wieder überprüft und ggf. neu setzt, und eine andere Anwendung möchte auch im Vordergrund sein, dann kommt das halt zu doofen Effekten. ;-)