Maybe
Code: Select all
#Win = 0
#Win1 = 1
Procedure WindowProc(hWnd,uMsg,wParam,lParam)
Result = #PB_ProcessPureBasicEvents
Select uMsg
Case #WM_SIZE,#WM_MOVE
ResizeWindow(#Win1,WindowX(#Win,#PB_Window_InnerCoordinate), WindowY(#Win,#PB_Window_InnerCoordinate),WindowWidth(#Win),WindowHeight(#Win))
Case #WM_NCACTIVATE
Result = 1
EndSelect
ProcedureReturn Result
EndProcedure
iFlags.i = #PB_Window_Tool|#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget
If OpenWindow(#Win, 50, 50, 200, 200, "Transparent", iFlags)
SetWindowColor(#Win, RGB(100,080,200))
SetWindowLongPtr_(WindowID(#Win), #GWL_EXSTYLE, #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(#Win), RGB(100,080,200), 0, #LWA_COLORKEY)
StickyWindow(#Win, #True)
OpenWindow(#Win1, WindowX(#Win,#PB_Window_InnerCoordinate), WindowY(#Win,#PB_Window_InnerCoordinate), 200, 200, "", #PB_Window_BorderLess,WindowID(#Win))
SetWindowColor(#Win1, RGB(100,080,200))
SetWindowLongPtr_(WindowID(#Win1), #GWL_EXSTYLE, #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(#Win1), 0, 100, #LWA_ALPHA)
EndIf
SetActiveWindow(#Win)
SetWindowCallback(@WindowProc())
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow