'Compileroption -s console
#include "sGUI\sGUI.bas"
#include once "sGUI\ListBox.bas"

screen 19,32,,&H04
InitGFX

dim as EventHandle ptr event
event=CreateEventHandle

dim as Gadget ptr list
list=AddListBox(event,10,10,18,20)

GadgetOn (list)

TO_LoadText(list,"ScrollText.txt")
UpdateGadget(list)'bei Veränderung "von außen" muß immer(!) eine Aktualisierung vorgenommen werden, leider gehts nicht anders!!!
SetListBoxVal(list,20)

dim as integer ff=freefile
open cons for output as ff

do
  event->xSleep(1)
  if event->GADGETMESSAGE then
    select case event->GADGETMESSAGE
      case list
        print #ff, "selektierter Eintrag: " & str(GetListBoxVal(list))
    end select
  end if
loop until event->EXITEVENT


DestroyEventHandle (event)
end

/'
function AddListBox (event as EventHandle ptr,x as integer,y as integer,c as integer,lines as integer) as Gadget ptr
event   ein Zeiger zu einem EventHandle
x       Position in px
y       Position in px
c       Breite der Box in Zeichen(8px pro Zeichen)
lines   Höhe der Box in Anzahl der Zeilen



function TO_LoadText (gad as _Gadget ptr,s as string,linebreak as string=chr(13,10)) as integer
läd einen Text in ein TextObjekt aus einer Datei
gad         Zeiger auf ein Control
s           Dateiname einer zu ladenen Datei
linebreak   optional, falls Datei einen anderen oder selbst definierten Zeilenumbruch hat, hier angeben



function TO_SetText (gad as _Gadget ptr,s as string,linebreak as string=chr(13,10)) as integer
läd einen Text in ein TextObjekt aus einem String
gad         Zeiger auf ein Control
s           String
linebreak   optional, falls String einen anderen oder selbst definierten Zeilenumbruch hat, hier angeben



sub UpdateGadget(gad as _Gadget ptr)
nach Manipultionen des TextObjektes von "aussen" durch TO_Befehle muß immer ein Update erfolgen
gad         Zeiger auf ein Control



function GetListBoxVal(gad as Gadget ptr) as integer
liefert selektierten Eintrag einer Listbox
gad         Zeiger auf ein Control



sub SetListBoxVal(gad as Gadget ptr,i as integer)
setzt einen Eintrag auf selektiert und scrollt zu ihm hin
gad         Zeiger auf ein Control
i           Nummer(Zeilennummer) des Eintrages



weitere Manipulationen mit GadgetOn,GadgetOff,GadgetSleep bzw einige TO_-Befehle/Funktionen

'/

