是否有一种通用的方法将列表视图中的特定项目(例如1000中的500)放在其中心?现在我正在使用此代码:
lvData.Items[iIndex].MakeVisible(False);
Run Code Online (Sandbox Code Playgroud)
它很简单,但有一个缺陷 - 大部分所需的项目出现在列表视图的顶部或底部.是的我知道,手动滚动它并不是一件大事,但我使用它的方式(在图表上选择一个点并查看列表视图中附近点的值)会使这种行为有点不舒服.
Ser*_*yuz 10
您可以使用DisplayRect
项目来确定它当前的位置.给定ListView1
是列表视图,li
是列表项并且R
是TRect
变量
R := li.DisplayRect(drBounds);
ListView1.Scroll(0, R.Top - ListView1.ClientHeight div 2);
Run Code Online (Sandbox Code Playgroud)
如果有足够的项目,将在中心滚动项目.
归档时间: |
|
查看次数: |
4316 次 |
最近记录: |