mfc中clistctrl列表控件实现刷新后自动滚动到刷新前的疑惑,该如何处理

mfc中clistctrl列表控件实现刷新后自动滚动到刷新前的疑惑
clistctrl是REPORT样式的
是定时刷新的,
刷新前将其滚动到某个位置
刷新后会回到第一行

有人说用EnsureVisible,可是刷新前我只进行了滚动操作
没有选定任何一行,我去EnsureVisible哪一行呢?
哪一行都不大好吧

还有就是用getScrollPos+setScrollPos
可是滚动条是滚动了,数据区的第一行也跟着往下走,仍然显示,而第一行数据往上却由多行空白

第三种是getScrollPos+Srcoll
这个确实可以滚动,但是getScrollPos得到的是行为单位,
而scroll却需要以像素为单位,如何计算!!
(我试过用getScrollPos乘以10,但是并不准确,每次都会少滚动一些)

这个问题我在网上搜了一晚上,我虽然不是个编程高手
但是搜索的本领还行
****上也有很多这样的提问,但是只有提问没有答案
我希望真正懂的人回答我,
越详细越好!
而不是从网上考一堆垃圾给我
跟不是不加思索的说两三个字

我想这只是很基本,很必须得问题,就像任务管理器,不管怎么刷新,我们依然看到同样的那几行,而不会跑到第一行是吧




------解决方案--------------------
CListCtrl::GetTopIndex
CListCtrl::GetCountPerPage
CListCtrl::EnsureVisible