SpinGadget : Modifier par pas de "x"

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

SpinGadget : Modifier par pas de "x"

Message par Chris »

J'ai pas trouvé de fonction pour qu'un SpinGadget puisse avancer de 5 en 5 ou de 10 en 10, par exemple.

J'ai pourtant cherché dans l'aide, dans le SDK, j'ai rien vu.

Alors j'ai fait une petite macro.
Si elle peut servir à quelqu'un...

Code : Tout sélectionner

#WinMain = 0
#Spin = 0
#txt = 1

Macro ChangeSpin(Gadget, valeur)
  a = Val(GetGadgetText(Gadget)) : a + valeur
  
  SetGadgetState(Gadget, a)
  SetGadgetText(Gadget, Str(GetGadgetState(Gadget)))
EndMacro

If OpenWindow(#WinMain, 200, 200, 120, 100, "",  #PB_Window_SystemMenu | #PB_Window_TitleBar)
  
  If CreateGadgetList(WindowID(#WinMain))
    SpinGadget(#Spin, 10, 10, 100, 20, 0, 1000)
    TextGadget(#txt, 10, 30, 100, 15, "", #PB_Text_Center)
  EndIf
  SetGadgetState(#Spin, 0)
  SetGadgetText(#Spin, Str(GetGadgetState(#Spin)))
    
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow : Quit = #True
        
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Spin
            
            
            Select EventType()
              Case 1
                ChangeSpin(#Spin, 10)
                SetGadgetText(#txt, Str(GetGadgetState(#Spin)))
                
              Case -1
                ChangeSpin(#Spin, -10)
                SetGadgetText(#txt, Str(GetGadgetState(#Spin)))
                
            EndSelect
        EndSelect
    EndSelect
  Until Quit
EndIf

End 
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

C'est un code qui familiarise avec le SpinGadget!
Répondre