(kleine Änderung wegen fehlerhaften: "SendMessage_(WindowID(0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)"
Code: Alles auswählen
Global evt, count=0, back.b = #False, quit.b = #False
Global mx, my, tmx, tmy, drag.b=#False
Enumeration
#Paci_Offen
#Paci_Mitte1
#Paci_Mitte2
#Paci_Mitte3
#Paci_Zu
EndEnumeration
If CreateImage(#Paci_Offen, 256, 256)
If StartDrawing(ImageOutput(#Paci_Offen))
Ellipse(128,128,ImageWidth(#Paci_Offen)/2,ImageHeight(#Paci_Offen)/2,RGB(255,255,0))
For k = -128 To 128 Step 1
Line(128,128,128,k,RGB(0,0,0))
Next k
StopDrawing()
EndIf
EndIf
If CreateImage(#Paci_Mitte1, 256, 256)
If StartDrawing(ImageOutput(#Paci_Mitte1))
Ellipse(128,128,ImageWidth(#Paci_Mitte1)/2,ImageHeight(#Paci_Mitte1)/2,RGB(255,255,0))
For k = -96 To 96 Step 1
Line(128,128,128,k,RGB(0,0,0))
Next k
StopDrawing()
EndIf
EndIf
If CreateImage(#Paci_Mitte2, 256, 256)
If StartDrawing(ImageOutput(#Paci_Mitte2))
Ellipse(128,128,ImageWidth(#Paci_Mitte2)/2,ImageHeight(#Paci_Mitte2)/2,RGB(255,255,0))
For k = -64 To 64 Step 1
Line(128,128,128,k,RGB(0,0,0))
Next k
StopDrawing()
EndIf
EndIf
If CreateImage(#Paci_Mitte3, 256, 256)
If StartDrawing(ImageOutput(#Paci_Mitte3))
Ellipse(128,128,ImageWidth(#Paci_Mitte3)/2,ImageHeight(#Paci_Mitte3)/2,RGB(255,255,0))
For k = -32 To 32 Step 1
Line(128,128,128,k,RGB(0,0,0))
Next k
StopDrawing()
EndIf
EndIf
If CreateImage(#Paci_Zu, 256, 256)
If StartDrawing(ImageOutput(#Paci_Zu))
Ellipse(128,128,ImageWidth(#Paci_Zu)/2,ImageHeight(#Paci_Zu)/2,RGB(255,255,0))
Line(128,128,128,1,RGB(0,0,0))
StopDrawing()
EndIf
EndIf
Procedure Animation()
If evt = #PB_Event_Timer And EventTimer() = 0
If count > 3
back = #True
ElseIf count = 0
back = #False
EndIf
SetGadgetState(0,ImageID(count))
If back = #True
count - 1
ElseIf back = #False
count + 1
EndIf
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 256, 256, "Window", #PB_Window_BorderLess | #PB_Window_ScreenCentered)
ImageGadget(0,0,0,256,256,ImageID(0))
SetWindowLong_(WindowID(0), #GWL_EXSTYLE, #WS_EX_LAYERED | #WS_EX_TOPMOST)
SetLayeredWindowAttributes_(WindowID(0), $000000, 0, #LWA_COLORKEY)
AddWindowTimer(0,0,200)
Repeat
evt = WindowEvent()
mx = DesktopMouseX()
my = DesktopMouseY()
Animation()
If evt = #WM_LBUTTONDOWN
drag = #True
tmx = mx - WindowX(0)
tmy = my - WindowY(0)
EndIf
If evt = #WM_RBUTTONDOWN
quit = #True
EndIf
If drag = #True
If evt = #WM_LBUTTONDOWN
Repeat
mx = DesktopMouseX()
my = DesktopMouseY()
If evt<>#WM_PAINT
ResizeWindow(0, mx-tmx, my-tmy, #PB_Ignore, #PB_Ignore)
EndIf
evt = WindowEvent()
Until evt=#WM_LBUTTONUP
drag = #False
EndIf
EndIf
Until quit
EndIf