ScrollBarGadget()

Syntax

Ergebnis = ScrollBarGadget(#Gadget, x, y, Breite, Höhe, Minimum, Maximum, SeitenLänge [, Flags])
Description
Erstellt ein ScrollBar-Gadget (auch Scroll- oder Schiebebalken) innerhalb der aktuellen Gadgetliste.

Parameters

#Gadget Eine Nummer, um das neue Gadget zu identifizieren. #PB_Any kann verwendet werden, um diese Nummer automatisch zu generieren.
x, y, Breite, Höhe Die Position und die Abmessungen des neuen Gadgets.
Minimum, Maximum Die Minimum- und Maximum-Werte, welche der Schiebebalken annehmen kann. Diese Werte sollten zwischen 0 und 10.000 liegen, um Einschränkungen auf manchen Betriebssystemen zu vermeiden.
SeitenLänge Der Bereich, welcher Bestandteil der aktuell angezeigten "Seite" ist.

Zum Beispiel: Sie haben ein Bild mit einer Breite von 100 Pixel und Sie sehen nur 25 Pixel. Was Sie sehen, wird eine 'Seite' genannt - in diesem Beispiel ist die Seitenlänge 25, der Minimum-Wert beträgt 0 und der Maximum-Wert 100.
Flags (optional) Flags zum Verändern des Gadget-Verhaltens. Dies kann die folgende Konstante sein:
  #PB_ScrollBar_Vertical : Der Schiebebalken ist vertikal (anstelle von horizontal, was der Standard ist).

Return value

Gibt bei Erfolg einen Wert ungleich Null zurück, oder Null bei einem Fehler. Wenn #PB_Any als #Gadget Parameter verwendet wurde, dann beinhaltet der Rückgabewert bei Erfolg die automatisch generierte Gadget-Nummer.

Remarks

Zu diesem Gadget kann mittels GadgetToolTip() eine 'Mini-Hilfe' hinzugefügt werden.

Die folgenden Befehle können zum Verwalten dieses Gadgets verwendet werden:

- GetGadgetState(): Gibt die aktuelle Position des Schiebebalkens zurück (der Wert liegt innerhalb der 'Minimum' und 'Maximum - Seitenlänge + 1' Spanne).
- SetGadgetState(): Ändert die aktuelle Schiebebalken-Position.
- GetGadgetAttribute(): Mit einem der folgenden Attribute:
  #PB_ScrollBar_Minimum   : gibt die minimale Schiebebalken-Position zurück.
  #PB_ScrollBar_Maximum   : gibt die maximale Schiebebalken-Position zurück.
  #PB_ScrollBar_PageLength: gibt den Wert der Seitenlänge zurück.
- SetGadgetAttribute(): Mit einem der folgenden Attribute:
  #PB_ScrollBar_Minimum   : ändert die minimale Schiebebalken-Position.
  #PB_ScrollBar_Maximum   : ändert die maximale Schiebebalken-Position.
  #PB_ScrollBar_PageLength: ändert den Wert der Seitenlänge.
Ein Ereignis wird ausgelöst, wenn es verwendet wird. Siehe Beispiele unten.

Example

  If OpenWindow(0, 0, 0, 305, 140, "ScrollBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    TextGadget       (2,  10, 25, 250,  20, "ScrollBar Standard  (start=50, page=30/100)",#PB_Text_Center)
    ScrollBarGadget  (0,  10, 42, 250,  20, 0, 100, 30)
    SetGadgetState   (0,  50)   ; wir setzen den ersten Schiebebalken (ID = 0) auf 50 von 100
    TextGadget       (3,  10,115, 250,  20, "ScrollBar Vertical  (start=100, page=50/300)",#PB_Text_Right)
    ScrollBarGadget  (1, 270, 10,  25, 120 ,0, 300, 50, #PB_ScrollBar_Vertical)
    SetGadgetState   (1, 100)   ; wir setzen den zweiten Schiebebalken (ID = 1) auf 100 von 300
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

Example: ScrollBar-Ereignisse

  Procedure BindHScrollDatas()
    SetWindowTitle(0, "ScrollBarGadget (" + GetGadgetState(0) + ")" )
  EndProcedure

  Procedure BindVScrollDatas()
    SetWindowTitle(0, "ScrollBarGadget (" + GetGadgetState(1) + ")" )
  EndProcedure


  If OpenWindow(0, 0, 0, 400, 400, "ScrollBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
    TextGadget       (2,  10, 25, 350,  30, "ScrollBar Standard  (Start = 50, Seite = 30/100)")
    ScrollBarGadget  (0,  10, 50, 350,  20, 0, 100, 30)
    SetGadgetState   (0,  50)   ; setze den ersten Scrollbalken (ID = 0) auf 50 von 100
    TextGadget       (3,  10, 120, 350,  30, "ScrollBar vertical  (Start = 100, Seite = 50/300)")
    ScrollBarGadget  (1, 175, 160,  25, 120 ,0, 300, 50, #PB_ScrollBar_Vertical)
    SetGadgetState   (1, 100)   ; setze den zweiten Scrollbalken (ID = 1) auf 100 von 300
  
    BindGadgetEvent(0, @ BindHScrollDatas())
    BindGadgetEvent(1, @ BindVScrollDatas())
  
    Repeat 
      Select WaitWindowEvent() 
        Case  #PB_Event_CloseWindow 
          End 
        Case  #PB_Event_Gadget 
          Select EventGadget()
            Case 0
              MessageRequester("Info","Der Scrollbalken 0 wurde verwendet ! (" + GetGadgetState(0) +
                                      ")" ,#PB_MessageRequester_Ok)
            Case 1
              MessageRequester("Info","Der Scrollbalken 1 wurde verwendet ! (" + GetGadgetState(1) +
                                    ")" ,#PB_MessageRequester_Ok) 
            
          EndSelect 
      EndSelect
    ForEver 
  EndIf

See Also

GetGadgetState(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute(), ScrollAreaGadget()

Supported OS

All

<- ScrollAreaGadget() - Gadget Index - SetActiveGadget() ->