Here is how i am doing it for now:
Code: Select all
EnableExplicit
Define MainWindow.i = OpenWindow(#PB_Any, 0, 0, 500, 485, "MainWindow", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
Define Listicon.i = ListIconGadget(#PB_Any, 0, 0, 500, 485, "Test", 460)
Define I.i, WindowEvent.i, FirstVisibleLine.i, VisibleLinesCount.i, FirstVisibleLineBefore.i = -1
For I = 0 To 1000
AddGadgetItem(Listicon, -1, "Test " + I)
Next
AddWindowTimer(MainWindow, 123, 100)
Repeat
WindowEvent = WaitWindowEvent()
Select (WindowEvent)
Case #PB_Event_CloseWindow
End
Case #PB_Event_Timer
Select EventTimer()
Case 123
FirstVisibleLine = SendMessage_(GadgetID(Listicon), #LVM_GETTOPINDEX, 0, 0)
VisibleLinesCount = SendMessage_(GadgetID(Listicon), #LVM_GETCOUNTPERPAGE, 0, 0) - 1
If (FirstVisibleLine <> FirstVisibleLineBefore)
FirstVisibleLineBefore = FirstVisibleLine
Debug "Visible Lines: " + Str(FirstVisibleLine) + " To " + Str(FirstVisibleLine + VisibleLinesCount)
EndIf
EndSelect
EndSelect
ForEver