SetScrollBarRange()

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

SetScrollBarRange()

Beitrag 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
PureBasic 4.30
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag 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...?
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag 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. :)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Fred will bei Set/GetGadgetState die Unterstützung für weitere Gadgets wie o.g. hinzufügen. :)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Antworten