Beispiel für das Ein- und Ausblenden des Sanduhr-Cursors über einem ButtonGadget:Delle hat geschrieben:Problem: Die Sanduhr ist zwar sichtbar auf dem Fenster, allerdings NICHT wenn man über Buttons, Webgadgets oder Container fährt.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 240, 110, "Änderung des Cursors", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ButtonGadget(0, 10, 10, 115, 90, "Sanduhr-Cursor über diesem ButtonGadget einschalten", #PB_Button_MultiLine)
HourGlassCursor = LoadCursor_(0, #IDC_WAIT)
SetClassLong_(WindowID(0),#GCL_HCURSOR, HourGlassCursor)
Repeat
WindowEvent = WaitWindowEvent()
Select WindowEvent
Case #PB_Event_Gadget
If EventGadget() = 0
If ChangeCursorAboveGadget
ChangeCursorAboveGadget = #False
SetGadgetText(0, "Sanduhr-Cursor über diesem ButtonGadget einschalten")
Else
ChangeCursorAboveGadget = #True
SetGadgetText(0, "Sanduhr-Cursor über diesem ButtonGadget ausschalten")
EndIf
EndIf
EndSelect
If ChangeCursorAboveGadget
GetCursorPos_(CursorPos.POINT)
MapWindowPoints_(0, WindowID(0), @CursorPos, 1)
If ChildWindowFromPoint_(WindowID(0), CursorPos\x, CursorPos\y) = GadgetID(0)
SetCursor_(HourGlassCursor)
EndIf
EndIf
Until WindowEvent = #PB_Event_CloseWindow
DestroyCursor_(HourGlassCursor)
EndIf
EndIf