问题描述
我有一个TListView,在TVertScrollBox中包含一百个项目。我想在TListView中设置所选项目的ViewportPosition(通过代码完成)。 TListView不可滚动,只有TVertScrollBox可以滚动。
在TListView中有100个项目时,我不希望我的用户滚动整个项目列表,而是在使用代码进行选择时自动将ViewportPostion设置为所选项目。
我正在尝试从以下代码中找出如何将0
更改为所选项目的变量号。
VertScrollBox1.ViewportPosition := PointF(VertScrollBox1.ViewportPosition.X,0);
我将不胜感激。
解决方法
假设TListView位于TVertScrollBox内,并且TListView.Height足够大,因此根本没有滚动条,然后设置视口,以使TListView项号N位于顶部(通过搜索数据获得N ),然后在视图中滚动项目N,您可以这样做:
VertScrollBox1.ViewportPosition := PointF(VertScrollBox1.ViewportPosition.X,ListView1.ItemAppearance.ItemHeight * N);