d'abord, j'ai l'impression que le spingadget est limitée à 65535

ensuite, c'est au niveau de l'aide pas très explicite je trouve sur l'utilisation de la bête

elle ne montre pas comment gérer le texte tapé dans le spin par l'utilisateur, il y a juste un exemple pour se servir des flèche bas et haut puis mettre le texte en conséquence.
voilà un exemple qui je pense est plus complet

Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 3.81
;
; Explication du programme :
; Gestion des évènements d'un SpinGadget
; Création de la fenêtre et dela GadgetList
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
; Création du SpinGadget
#SpinGadget_Test = 0
SpinGadget(#SpinGadget_Test, 10, 10, 100, 20, 0, 200)
; On initialise le SpinGadget
SetGadgetState(#SpinGadget_Test, 0)
SetGadgetText(#SpinGadget_Test, "0")
Repeat
Event = WaitWindowEvent()
If Event = #PB_EventGadget ; Si on a un évènement sur un gadget
Select EventGadgetID()
Case #SpinGadget_Test ; Evènement sur le SpinGadget
If GetGadgetText(#SpinGadget_Test) <> Str(GetGadgetState(#SpinGadget_Test)) ; Si le contenu à changer
; Quand on modifie l'état du SpinGadget, on a une différence entre le texte affiché et l'état du SpinGadget
If EventType() = #PB_EventType_Change ; Si on a changé le texte du SpinGadget
SetGadgetState(#SpinGadget_Test, Val(GetGadgetText(#SpinGadget_Test))) ; On met l'état du SpinGadget égal au texte
If GetGadgetText(#SpinGadget_Test) <> Str(GetGadgetState(#SpinGadget_Test)) ; Si l'état est différent du texte, on a entré une valeur supérieure aux bornes du SpinGadget
SetGadgetText(#SpinGadget_Test, Str(GetGadgetState(#SpinGadget_Test))) ; On met le texte égal à l'état du SpinGadget
EndIf
Else ; Sinon, on a changé l'état à l'aide des boutons de défilements
SetGadgetText(#SpinGadget_Test, Str(GetGadgetState(#SpinGadget_Test))) ; On met le texte égal à l'état du SpinGadget
EndIf
EndIf
EndSelect
EndIf
Until Event = #PB_EventCloseWindow
End