ScrollAreaGadget()

Syntax

Ergebnis = ScrollAreaGadget(#Gadget, x, y, Breite, Hoehe, ScrollBereichBreite, ScrollBereichHoehe [, ScrollSchritt [, Flags]])
Beschreibung
Erstellt ein ScrollArea-Gadget (scrollbarer Bereich) innerhalb der aktuellen Gadgetliste.

Wenn #PB_Any als '#Gadget' Parameter verwendet wird, dann wird die Nummer des neuen Gadgets als 'Ergebnis' zurückgegeben.

Es ist sehr nützlich, wenn ein Gadget zu groß ist, um in die Fenster-Dimensionen zu passen. In diesem Fall kann es in den ScrollArea-Bereich gelegt werden. Das gesamte Scrolling wird automatisch vom Gadget verwaltet. Dies ist ein Container-Gadget und dafür gedacht, ein oder mehrere Gadgets innerhalb seines Scroll-Bereiches zu haben. 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.

'ScrollBereichBreite' und 'ScrollBereichHoehe' sind die anfänglichen Dimensionen des im Gadget enthaltenen scrollbaren Bereichs und sollten größer als die 'Breite' und 'Höhe' des Gadgets sein. 'ScrollSchritt' ist die Anzahl an Pixel, um die beim Drücken des Schieberegler-Pfeils gescrollt wird. Dieses Parameter hat nur unter Windows einen Effekt. '#Gadget' ist die Nummer, die (später) vom EventGadget() Befehl zurückgegeben wird. Wenn der Anwender die Schiebebalken im Gadget bewegt, wird ein Ereignis für das Gadget empfangen.

'Flags' sind optional und können sich aus einer oder mehreren der folgenden Konstanten (verknüpft mit dem '|' OR-Operator) zusammensetzen:
  #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.

Die folgenden Befehle können benutzt werden, um auf dem ScrollAreaGadget zu agieren:

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.
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).
Dieses Gadget unterstützt die SetGadgetColor() und GetGadgetColor() Befehle mit dem #PB_Gadget_BackColor Typ zum Ändern der Hintergrundfarbe.

Beispiel:

  If OpenWindow(0, 0, 0, 305, 140, "ScrollAreaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ScrollAreaGadget(0, 10, 10, 290,120, 375, 155, 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() 
    Repeat 
      Select WaitWindowEvent() 
        Case  #PB_Event_CloseWindow 
          End 
        Case  #PB_Event_Gadget 
          Select EventGadget()
            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

Unterstützte OS

Alle

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