Ganzes Programm Tranzperent!
Ganzes Programm Tranzperent!
Hab zwar jetzt die Suche benutzt, aber da standen so spezielle Sachen. Meine Frage ist, ob ich mein Programm wie in Vista z.b http://www.win-news.de/screenshots/screen_catid,9.html hier vom 2 Bild der Rahmen. Nur nicht so verschwemt. Geth das mit den ganzen Programm?
MFG Zantero
Wer Rechtschreibfehler findet, der darf sie behalten!
Wer Rechtschreibfehler findet, der darf sie behalten!
Code: Alles auswählen
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,GetWindowLong_(WindowID(0),#GWL_EXSTYLE) | #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0), 0, (255 * 90) / 100, #LWA_ALPHA)
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
- PureLust
- Beiträge: 1145
- Registriert: 21.07.2005 00:02
- Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
- Wohnort: am schönen Niederrhein
Zwar nur gefaked ... aber vielleicht reicht's ja für Deine Zwecke. 
PS: Wenn vielleicht jemand die genaue Filterung für einen Window-Move in der CallBack-Message kennt, könnte ich das noch mal sauber nachrüsten - momentan isses nur dirty getrickst.
Gruß, PL.

Code: Alles auswählen
EnableExplicit
Procedure CallBack(WindowID, Message, wParam, lParam)
Protected region
Static OldWidth, OldHeight
If Message = 70
MoveWindow_(WindowID(1),WindowX(0)+22,WindowY(0)+48,WindowWidth(0)-38,WindowHeight(0)-78,-1)
If WindowWidth(1) <> OldWidth Or WindowHeight(1) <> OldHeight
region=CreateRoundRectRgn_(0,0,WindowWidth(1)-1,WindowHeight(1)-1,20,20)
SetWindowRgn_(WindowID(1),region,#True)
DeleteObject_(region)
OldWidth = WindowWidth(1)
OldHeight = WindowHeight(1)
EndIf
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0, 200, 200, 300, 250, "Tansparentes Fenster mit Schatten", #PB_Window_SystemMenu | #PB_Window_SizeGadget|#PB_Window_Invisible )
If CreateGadgetList(WindowID(0))
ButtonGadget(0,30,WindowHeight(0)-40,WindowWidth(0)-60,20,"I'm transparent")
EndIf
#CS_DROPSHADOW = $00020000
SetClassLong_(WindowID(0),#GCL_STYLE, #CS_DROPSHADOW)
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,GetWindowLong_(WindowID(0),#GWL_EXSTYLE) | #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0), 0, (255 * 65) / 100, #LWA_ALPHA)
OpenWindow(1,WindowX(0)+22,WindowY(0)+48,260,160,"ChildWindow",#PB_Window_BorderLess|#PB_Window_Invisible,WindowID(0))
SetClassLong_(WindowID(1),#GCL_STYLE, #CS_DROPSHADOW)
If CreateGadgetList(WindowID(1))
ButtonGadget(1,30,WindowHeight(1)-40,WindowWidth(1)-60,20,"I'm not transparent")
EndIf
HideWindow(1, 0)
HideWindow(0, 0)
CallBack(0,70,0,0)
SetWindowCallback(@CallBack(),0)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Gruß, PL.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)