ScrollAreaGadget()

Syntax

Ergebnis = ScrollAreaGadget(#Gadget, x, y, Breite, Höhe, ScrollBereichBreite, ScrollBereichHöhe [, ScrollSchritt [, Flags]])
Description
Erstellt ein ScrollArea-Gadget (Scroll-Bereich) innerhalb der aktuellen Gadgetliste. Es handelt sich dabei um einen Container für andere Gadgets (die ggf. auch zu groß sind, um in die Fenster-Dimensionen zu passen) mit einem scrollbaren Bereich.

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.
ScrollBereichBreite, ScrollBereichHöhe Die Dimension des scrollbaren Bereichs innerhalb des Gadgets. Diese Werte können auch kleiner als die äußeren Dimensionen sein, in diesem Fall wird das Scrollen deaktiviert.
ScrollSchritt (optional) Die Anzahl an Pixel, um die beim Drücken der Schieberegler-Pfeile gescrollt wird. Dieses Parameter hat nur unter Windows einen Effekt.
Flags (optional) Flags zum Verändern des Gadget-Verhaltens. Dies kann eine Kombination (verknüpft mit dem bitweisen '|' OR-Operator) der folgenden Konstanten sein:
  #PB_ScrollArea_Flat       : Flacher Rahmen 
  #PB_ScrollArea_Raised     : Erhabener Rahmen 
  #PB_ScrollArea_Single     : Einfach vertiefter Rahmen 
  #PB_ScrollArea_BorderLess : Ohne jeden Rahmen
  #PB_ScrollArea_Center     : Wenn die innere Größe kleiner als die äußere ist, 
                                     dann wird der innere Bereich automatisch zentriert.

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

Sobald dieses Gadget erstellt wurde, werden alle nachfolgenden Gadgets innerhalb des ScrollArea-Bereiches erstellt. Sobald alle benötigten Gadgets erstellt wurden, muss CloseGadgetList() aufgerufen werden, um zur vorherigen Gadgetliste zurückzukehren. OpenGadgetList() kann später verwendet werden, um weitere Gadgets während des Programmablaufs ("on-the-fly") zum Scroll-Bereich hinzuzufügen.

Die folgenden Befehle können benutzt werden, um auf das ScrollAreaGadget zuzugreifen:

GetGadgetAttribute(): mit einem der folgenden Attribute:
  #PB_ScrollArea_InnerWidth  : gibt die Breite (in Pixel) des enthaltenen scrollbaren Bereichs zurück.
  #PB_ScrollArea_InnerHeight : gibt die Höhe (in Pixel) des enthaltenen scrollbaren Bereichs zurück.
  #PB_ScrollArea_X           : gibt die aktuelle horizontale Scroll-Position (in Pixel) zurück.
  #PB_ScrollArea_Y           : gibt die aktuelle vertikale Scroll-Position (in Pixel) zurück.
  #PB_ScrollArea_ScrollStep  : gibt den aktuellen Scrollschritt-Wert (in Pixel) zurück.
SetGadgetAttribute(): mit einem der folgenden Attribute:
  #PB_ScrollArea_InnerWidth  : ändert die Breite (in Pixel) des enthaltenen scrollbaren Bereichs.
  #PB_ScrollArea_InnerHeight : ändert die Höhe (in Pixel) des enthaltenen scrollbaren Bereichs.
  #PB_ScrollArea_X           : ändert die aktuelle horizontale Scroll-Position (in Pixel).
  #PB_ScrollArea_Y           : ändert die aktuelle vertikale Scroll-Position (in Pixel).
  #PB_ScrollArea_ScrollStep  : ändert den aktuellen Scrollschritt-Wert (in Pixel).


Das folgende Ereignis wird mittels EventType() unterstützt:
  #PB_EventType_Resize: Das Gadget wurde in der Größe verändert.
Dieses Gadget unterstützt die SetGadgetColor() und GetGadgetColor() Befehle mit dem #PB_Gadget_BackColor Typ zum Ändern der Hintergrundfarbe.

Ein Ereignis wird ausgelöst, wenn es verwendet wird. Siehe Beispiel unten.

Example

  Procedure BindScrollDatas()
    SetWindowTitle(0, "ScrollAreaGadget " +
                      "(" +
                      GetGadgetAttribute(0, #PB_ScrollArea_X) +
                      "," +                      
                      GetGadgetAttribute(0, #PB_ScrollArea_Y) +
                      ")" )
  EndProcedure
  
  If OpenWindow(0, 0, 0, 405, 240, "ScrollAreaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ScrollAreaGadget(0, 10, 10, 390,220, 575, 555, 30)
      ButtonGadget  (1, 10, 10, 230, 30,"Button 1")
      ButtonGadget  (2, 50, 50, 230, 30,"Button 2")
      ButtonGadget  (3, 90, 90, 230, 30,"Button 3")
      TextGadget    (4,130,130, 230, 20,"This is the content of a ScrollAreaGadget!",#PB_Text_Right)
      CloseGadgetList()
  
    BindGadgetEvent(0, @ BindScrollDatas())
  
    Repeat
      Select WaitWindowEvent()
        Case  #PB_Event_CloseWindow
          End
        Case  #PB_Event_Gadget
          Select EventGadget()
            Case 0
              MessageRequester("Info","Ein Scrollbalken wurde verwendet! (" +
                                      GetGadgetAttribute(0, #PB_ScrollArea_X) +
                                      "," +                      
                                      GetGadgetAttribute(0, #PB_ScrollArea_Y) +
                                      ")" ,#PB_MessageRequester_Ok)
            Case 1
              MessageRequester("Info","Button 1 was pressed!",#PB_MessageRequester_Ok)
            Case 2
              MessageRequester("Info","Button 2 was pressed!",#PB_MessageRequester_Ok)
            Case 3
              MessageRequester("Info","Button 3 was pressed!",#PB_MessageRequester_Ok)
          EndSelect
      EndSelect
    ForEver
  EndIf

See Also

GetGadgetAttribute(), SetGadgetAttribute(), ScrollBarGadget()

Supported OS

All

<- ResizeGadget() - Gadget Index - ScrollBarGadget() ->