Seite 1 von 1

SetScrollBarRange()

Verfasst: 20.04.2005 22:46
von glubschi90
Ich habs schnell gebraucht und zusammencecodet. :)

Code: Alles auswählen

Structure tagSCROLLINFO
  cbSize.l
  fMask.l
  nMin.l
  nMax.l
  nPage.l
  nPos.l
  nTrackPos.l
EndStructure
  
Procedure SetScrollBarRange(Gadget,Min,Max)
  xyz.tagSCROLLINFO
  xyz\fMask=#SIF_RANGE	
  xyz\nMin=Min
  xyz\nMax=Max
  SendMessage_(GadgetID(Gadget),#SBM_SETSCROLLINFO,1,xyz)
EndProcedure

;=================================================================

OpenWindow(0,0,0,300,85,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"SetScrollBarRange()")
CreateGadgetList(WindowID(0)) 


ScrollBarGadget(0,5,5,290,30,1,100,5)
TextGadget(1,5,40,290,15,"State: 0")
ButtonGadget(2,5,60,290,20,"SetScrollBarRange to 200")


Repeat
  event=WaitWindowEvent()
  Select event
    Case #PB_EventGadget
      Select EventGadgetID()
        
        Case 0 ; Refresh textgadget
          SetGadgetText(1,"State: "+Str(GetGadgetState(0)))
        
        Case 2 ; SetScrollbarRange to 200
          SetScrollBarRange(0,1,200)
        
      EndSelect
    Case #PB_EventCloseWindow
      quit=1
  EndSelect
Until quit=1

Verfasst: 21.04.2005 06:55
von Danilo
Das sollte eigentlich auch direkt mit PB möglich sein, so wie
es schon beim ScrollAreaGadget mit Set/GetGadgetAttribute()
funktioniert.
Für das TrackbarGadget und ProgressBarGadget wird das auch
gebraucht, um Minimum und Maximum neu zu setzen.

Kann vielleicht Andre mal an Fantaisie Software weiterleiten...?

Verfasst: 24.04.2005 15:13
von Andre
Danilo hat geschrieben:Das sollte eigentlich auch direkt mit PB möglich sein, so wie
es schon beim ScrollAreaGadget mit Set/GetGadgetAttribute()
funktioniert.
Für das TrackbarGadget und ProgressBarGadget wird das auch
gebraucht, um Minimum und Maximum neu zu setzen.

Kann vielleicht Andre mal an Fantaisie Software weiterleiten...?
Habe ich soeben getan. :)

Verfasst: 01.05.2005 23:22
von Andre
Fred will bei Set/GetGadgetState die Unterstützung für weitere Gadgets wie o.g. hinzufügen. :)