如何处理Delphi XE8中一直向下滚动到最后一个TListBoxItem的TListBox?
我正在尝试制作一个TListBox,最初在其中加载15个TListBoxItems,每次滚动到TListBoxItem底部时,再添加15个TListBoxItems。在Delphi XE8中的firemonkey多设备项目中如何处理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中一直向下滚动。我已经尝试了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也是如此。