Page 1 sur 1

changer le min/max d'un trackbar/progressbar/spingadget

Publié : ven. 19/août/2005 23:12
par Dr. Dri
c'est pas faisable et pourtant ce serait bien pratique dans certains cas! on peut imaginer ca avec get/setgadgetattribute et deux nouvelles constantes...

Dri

Publié : sam. 20/août/2005 8:23
par lionel_om
ya pas moyen par l'API ? :roll:

Publié : sam. 20/août/2005 8:55
par lionel_om

Code : Tout sélectionner

Enumeration
  #WIN
  #TRACK
  #BUTTON
EndEnumeration


If OpenWindow(#WIN,0,0,320,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"CheckBoxGadget") And CreateGadgetList(WindowID())
  TrackBarGadget(#TRACK, 10, 40,250, 20,0,10000)
  ButtonGadget(#BUTTON, 10,80, 80,20,"Change max")
  SetGadgetState(#TRACK, 99)
  
curPos.Point  
  
  Repeat
    EventID = WaitWindowEvent()
  
    If EventID = #PB_Event_Gadget
    
    
      Select EventGadgetID()
      
        Case #BUTTON
          Debug SendMessage_(GadgetID(#TRACK), #TBM_GETRANGEMAX, 0, 0)
          SendMessage_(GadgetID(#TRACK), #TBM_SETRANGEMAX, 0, 100)
          Debug SendMessage_(GadgetID(#TRACK), #TBM_GETRANGEMAX, 0, 0)
          ; MAJ pos curseur
          SendMessage_(GadgetID(#TRACK), #WM_LBUTTONDOWN, 0, 0)
          SendMessage_(GadgetID(#TRACK), #WM_LBUTTONUP, 0, 0)
          ; autre constante : #TBM_SETRANGEMIN
        ;EndCase 
      
      EndSelect
      
    EndIf
  
  Until EventID=#PB_Event_CloseWindow
EndIf
Par contre la MAJ du curseur ne se fait pas automatiquement

Publié : sam. 20/août/2005 13:38
par Dr. Dri
je me doute bien que c'est faisable, mais ce serait bien aussi en PB (comme avec le scroll gadget)

Dri ;)

Publié : sam. 20/août/2005 14:49
par Anonyme2
J'ai écrit 2 commandes pour les progressbar (lib MoreProgressBarGadget)

SetProgressBarRange() et GetProgressBarRange pour modifier ou retrouver la plage de la ProgressBar.

Bientôt dispo.

Publié : lun. 22/août/2005 16:36
par Dr. Dri
je viens de me rendre compte que ce n'est pas non plus possible avec le spingadget...

Dri

Publié : lun. 22/août/2005 17:32
par Fred
C'est pas faux, je le note.