J'ai essayé, voir le code exemple ci-dessous. Il fonctionne si on va doucement.
Mais en restant appuyé sur haut ou bas, la progression de 1 par défaut va plus vite que la gestion des events.
Code : Tout sélectionner
Enumeration FormGadget
#WinMain
#SpinGadget
EndEnumeration
Define Progression = 10
OpenWindow(#WinMain, x, y, 140, 50, "Spin Progress", #PB_Window_SystemMenu)
SpinGadget(#SpinGadget, 20, 10, 100, 25, 140, 1920, #PB_Spin_Numeric)
SetGadgetState(#SpinGadget, WindowWidth(#WinMain))
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case #SpinGadget
If EventType() = #PB_EventType_Up : SetGadgetState(#SpinGadget, GetGadgetState(#SpinGadget)+Progression-1) : EndIf
If EventType() = #PB_EventType_Down : SetGadgetState(#SpinGadget, GetGadgetState(#SpinGadget)-Progression+1) : EndIf
If EventType() = #PB_EventType_Change
ResizeWindow(#WinMain, #PB_Ignore, #PB_Ignore, GetGadgetState(#SpinGadget), #PB_Ignore)
EndIf
EndSelect
EndSelect
ForEver