我正在尝试在操作后的初始点滚动列表,其结果是删除所有项目并重新填充。
我想记录滚动位置,然后设置回它,但由于某种原因GetScrollPos
总是返回 0。
我一直在查看所有ListCtrl
方法,但似乎找不到方法,并且还注意到GetScrollPos
不存在,但也不会引发异常。
我通过计算底部项目并在它上面的项目上使用EnsureVisible
来让它工作,因为如果有的话EnsureVisible
总是在目标项目下方显示一个额外的项目。
工作完美,不需要GetScrollPos
,因为我很确定没有SetScrollPos
.
list_total = list.GetItemCount()
list_top = list.GetTopItem()
list_pp = list.GetCountPerPage()
list_bottom = min(list_top + list_pp, list_total - 1)
list.EnsureVisible((list_bottom - 1))