I'm learning PureBasic by playing with the Atomic Web Server.  I'm trying to add a Window which shows the date, time, client IP, and filename sent to clients.  I've started by using the ListViewGadget for this.
I don't really need to be able to have users click on these items, though, as ListViewGadget supports.  I would also like to keep appending things to the top of the gadget and scroll old items off the bottom, or add lines to the bottom of the gadget but keep the gadget scrolling upward, so the newest line is always visible and the oldest line is scrolled out of visibility.
Any suggestions about a better way to implement this?  What Gadget would work better, for example?  Or, if the ListViewGadget is best, is there a way to prevent users from being able to click on lines and make certain the scrolling I'm looking for is achieved?
Thanks,
Phil
			
			
									
									
						Suggest gadget for scrolling status window?
Code: Select all
#Window_0 = 0
#Gadget_0 = 0
#Gadget_1 = 1
#Gadget_2 = 2
Procedure AddText()
    exsistingText.s = GetGadgetText(#Gadget_0)
    If exsistingText = ""
        SetGadgetText(#Gadget_0, GetGadgetText(#Gadget_1))
    Else
        SetGadgetText(#Gadget_0, exsistingText + Chr(13) + Chr(10) + GetGadgetText(#Gadget_1))
    EndIf
    lines = SendMessage_(GadgetID(0),#EM_GETLINECOUNT,0,0)
    SendMessage_(GadgetID(#Gadget_0), #EM_LINESCROLL, 0, lines)
EndProcedure
  If OpenWindow(#Window_0, 338, 281, 439, 254,  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "New window ( 0 )")
    If CreateGadgetList(WindowID())
      StringGadget(#Gadget_0, 5, 5, 430, 210, "", #ES_MULTILINE | #ES_AUTOVSCROLL | #ES_AUTOHSCROLL | #WS_VSCROLL | #WS_HSCROLL | #PB_String_ReadOnly)
      StringGadget(#Gadget_1, 5, 225, 345, 21, "")
      ButtonGadget(#Gadget_2, 358, 222, 77, 25, "Enter >>>")
      
    EndIf
  EndIf
Repeat
  Event = WaitWindowEvent()
  
  Select Event
    Case #PB_EventGadget
        Select EventGadgetID()
            Case #Gadget_2
                AddText()
        EndSelect
  EndSelect
Until Event = #PB_EventCloseWindow
End

