Basic Univers
;/ PureBasic 4
;/ Test Auto-Scroll des gadgets : ListIcon / ListView / Editor

Enumeration
  #Label1
  #Label2
  #Label3
  #ListView
  #ListIcon
  #Editor
EndEnumeration

OpenWindow(0, 0, 0, 340, 200, "PureBasic Auto-Scroll Gadget Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
TextGadget(#Label1, 10, 10, 100, 20, "ListView")
TextGadget(#Label2, 120, 10, 100, 20, "ListIcon")
TextGadget(#Label3, 230, 10, 100, 20, "Editor")
ListViewGadget(#ListView, 10, 30, 100, 150)
ListIconGadget(#ListIcon, 120, 30, 100, 150, "Test", 70)
EditorGadget(#Editor, 230, 30, 100, 150)

Procedure Ajout()
 
  For Compteur = 1 To 50
    AddGadgetItem(#ListView, - 1, Str(Compteur))
    AddGadgetItem(#ListIcon, - 1, Str(Compteur))
    AddGadgetItem(#Editor, - 1, Str(Compteur))
     
    SetGadgetState(#ListView, CountGadgetItems(#ListView)- 1)                                   ;/ ListView
    SendMessage_(GadgetID(#ListIcon), #LVM_ENSUREVISIBLE, CountGadgetItems(#ListIcon)- 1, #True)  ;/ ListIcon
    SendMessage_(GadgetID(#Editor), #EM_SCROLLCARET, #False, #False)                           ;/ EditorGadget
     
    Delay(100)
  Next
EndProcedure

CreateThread(@Ajout(), 0)

Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow