如何处理Delphi XE8中一直向下滚动到最后一个TListBoxItem的TListBox?

如何处理Delphi XE8中一直向下滚动到最后一个TListBoxItem的TListBox?,delphi,scroll,listbox,firemonkey,delphi-xe8,Delphi,Scroll,Listbox,Firemonkey,Delphi Xe8,我正在尝试制作一个TListBox,最初在其中加载15个TListBoxItems,每次滚动到TListBoxItem底部时,再添加15个TListBoxItems。在Delphi XE8中的firemonkey多设备项目中 现在我不知道如何知道用户是否在TListBox中一直向下滚动。我已经尝试了TListBox的每一个事件,但似乎没有一个能做到这一点。如果平台是Windows,您可以尝试类似的方法 var i: Integer; x:Double; Begin x := List

我正在尝试制作一个TListBox,最初在其中加载15个TListBoxItems,每次滚动到TListBoxItem底部时,再添加15个TListBoxItems。在Delphi XE8中的firemonkey多设备项目中


现在我不知道如何知道用户是否在TListBox中一直向下滚动。我已经尝试了TListBox的每一个事件,但似乎没有一个能做到这一点。

如果平台是Windows,您可以尝试类似的方法

var
  i: Integer;
  x:Double;
Begin
  x := ListBox1.Height / ListBox1.ItemHeight;
  i :=  GetScrollPos(ListBox1.Handle, SB_VERT);
  if i + x >= ListBox1.Items.Count then
    ShowMessage('It is at the end of scroll');
End;

我想你需要稍微横向一点。与其考虑用户何时滚动到列表底部,不如考虑列表中最后一项何时可见,即ListBox.ListItems[ListBox.ListItems.Count-1]的IsVisible属性何时可见

只有当用户滚动到列表的底部时,才会出现这种情况


您可以使用手势管理器或简单的计时器来测试状态

不,正如我在解释中所说,这是一个Firemonkey多设备项目。iOS和Android也是如此。