Seite 1 von 1

TrackBarGadget

Verfasst: 26.03.2013 16:21
von NeoRon
Hallo eine weitere Frage zu den Gadgets.

Das ja der Code um eine TrackBar mit Ticks zu erstellen.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 320, 200, "TrackBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

    TextGadget    (4, 10, 100, 250, 20, "TrackBar Ticks", #PB_Text_Center)
    TrackBarGadget(1, 10, 120, 250, 20, 0, 5, #PB_TrackBar_Ticks)
    SetGadgetState(1, 2)

    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Jetzt will ich aber den einzelnen Ticks Werte zuweisen und das er diese auch erkennt bei welchem Wert er in der TrackBar gerade ist und diesen Wert dann einer Variable zuweist.
Wie stelle ich das an?

mit GetGadgetAttribute?

Grüße NeoRon

Codetags hinzu
-- Andesdaf

Re: TrackBarGadget

Verfasst: 26.03.2013 16:56
von ts-soft
Ich weiß jetzt nicht, ob Du es so meinst, aber kannst ja mal gucken:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 320, 200, "TrackBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  TextGadget (0, 10, 100, 250, 20, "", #PB_Text_Center)
  TrackBarGadget(1, 10, 120, 250, 20, 0, 5, #PB_TrackBar_Ticks)
  SetGadgetState(1, 2)
  SetGadgetText(0, "Trackbar Ticks: " + GetGadgetState(1))
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
      
      Case #PB_Event_Gadget
        If EventGadget() = 1
          SetGadgetText(0, "Trackbar Ticks: " + GetGadgetState(1))
        EndIf
    EndSelect
  ForEver
EndIf
Gruß
Thomas

Re: TrackBarGadget

Verfasst: 26.03.2013 17:00
von Andesdaf
Nativ von PB aus geht das wohl nicht, aber folgender Code liefert dir
die Position des Schiebers zurück

Code: Alles auswählen

If OpenWindow(0, 0, 0, 320, 200, "TrackBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

    TextGadget    (4, 10, 100, 250, 20, "TrackBar Ticks", #PB_Text_Center)
    TrackBarGadget(1, 10, 120, 250, 20, 0, 5, #PB_TrackBar_Ticks)
    SetGadgetState(1, 2)

    Repeat
      iEvent = WaitWindowEvent()
      
      Select iEvent
        
        Case #PB_Event_Gadget
          Select EventGadget()
            
            Case 1
              Debug "Die Trackbar befindet sich an Position " + Str(GetGadgetState(1)) + "."
          
          EndSelect
      
      EndSelect
    
    Until iEvent = #PB_Event_CloseWindow
  EndIf

Re: TrackBarGadget

Verfasst: 26.03.2013 17:50
von bobobo
ich auch mal

Code: Alles auswählen

If OpenWindow(0, 0, 0, 320, 200, "TrackBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  TextGadget (0, 30, 100, 250, 20, "", #PB_Text_Center)
  zink=20
  TrackBarGadget(1, 10, 120, 250, 20, 0, zink, #PB_TrackBar_Ticks)
  TrackBarGadget(2, 5, 5, 20, 180, 0,zink, #PB_TrackBar_Ticks|#PB_TrackBar_Vertical)
  TrackBarGadget(3, 10, 10, 250, 20, 0, zink, #PB_TrackBar_Ticks)
  TrackBarGadget(4, 300, 5, 20, 180, 0,zink, #PB_TrackBar_Ticks|#PB_TrackBar_Vertical)
  SetGadgetText(0, "Trackbar Ticks: " + GetGadgetState(1))
  Repeat
    p+zonk
    If p>=zink
      zonk=-1
    ElseIf p<1
      zonk=1
    EndIf
    SetGadgetState(1,p): SetGadgetState(2,p)
    SetGadgetState(3,zink-p): SetGadgetState(4,zink-p)
    DieVariable=GetGadgetState(1)
    SetGadgetText(0, "Trackbar Ticks: " + DieVariable)
    SetWindowTitle(0,"Der inhalt der Variablen ist jetzt "+Str(DieVariable))
    Select WaitWindowEvent(25)
      Case #PB_Event_CloseWindow
        Break
      Case #PB_Event_Gadget
        If EventGadget() = 1
          SetGadgetText(0, "Trackbar Ticks: " + GetGadgetState(1))
        EndIf
    EndSelect
  ForEver
EndIf

Re: TrackBarGadget

Verfasst: 28.03.2013 08:57
von NeoRon
Vielen Dank euch für die schnellen Antworten. :)