durchsichtige fenster

Anfängerfragen zum Programmieren mit PureBasic.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

durchsichtige fenster

Beitrag von delikanli_19_82 »

hallo leute,

ich würde gerne unter windows, linux und mac fenster nach grad durchsichtig scheinen lassen.

hat irgendwer eine idee, wie das zu machen wäre?

mfg

kurt
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: durchsichtige fenster

Beitrag von Bisonte »

Unter Windows nutze ich diese beiden Prozeduren. Da ich nicht weiss welche Art Du nun genau meinst.

Code: Alles auswählen

Procedure.i SetWindowTransparency(Window.i, transparency.i) ; Fenster durchsichtig machen (transparency : 0-255)
  
  If IsWindow(Window)
    Protected WindowID = WindowID(Window)
    SetWindowLongPtr_(WindowID,#GWL_EXSTYLE,#WS_EX_LAYERED)
    SetLayeredWindowAttributes_(WindowID,0,transparency,#LWA_ALPHA)
  EndIf

EndProcedure
Procedure.i SetWindowCutColor(Window.i, Color.i) ; Fensterpixel mit Farbe Color.i durchsichtig machen (RGB() werte)
  
  If IsWindow(Window)
    Protected WindowID = WindowID(Window)
    SetWindowLongPtr_(WindowID,#GWL_EXSTYLE,#WS_EX_LAYERED)
    SetLayeredWindowAttributes_(WindowID,Color,0,#LWA_COLORKEY)
  EndIf

EndProcedure
bei den anderen Systemen weiss ich nicht wie das geht ... sorry
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: durchsichtige fenster

Beitrag von delikanli_19_82 »

hallo Bisonte,

die methode SetWindowTransparency entspricht meiner vorstellung.

die lösung für mac und linux sind auch wichtig. naja, muss weiter danach suchen.

vielen dank für dein beispiel.

mfg

kurt
Benutzeravatar
TheCube
Beiträge: 169
Registriert: 20.07.2010 23:59
Computerausstattung: Risen 3400G 16MB Win10-64Bit
Wohnort: NRW

Re: durchsichtige fenster

Beitrag von TheCube »

Ich fand es auch sehr nützlich, besonders das SetWindowCutColor kannte ich noch nicht.
Danke. :)
Antworten