CListCtrl: Как сохранить позицию прокрутки?

У меня есть CListCtrl (стиль отчета), где я очищаю список и повторно заполняю его в определенное время. При этом я бы хотел сохранить вертикальное положение прокрутки. Я вижу, что есть пара методов, которые выглядят многообещающими:

EnsureVisible()
GetScrollPos()
SetScrollPos()
GetScrollInfo()
GetTopIndex()
Scroll()

Я пробую GetScrollPos (), а затем SetScrollPos (), но, похоже, это не работает. Каков простой правильный способ сохранить позицию прокрутки, а затем восстановить ее?

UPDATE

На самом деле кажется, что я могу сохранить позицию прокрутки GetScrollPos (), а затем SetScrollPos (), чтобы восстановить ее, однако это буквально просто, кажется, устанавливает положение полосы прокрутки и фактически не прокручивает элементы моего CListCtrl.

ОБНОВЛЕНИЕ 2

Метод Scroll (), кажется, правильно прокручивает полосы прокрутки и содержимого. Однако в качестве аргумента он принимает объект CSize. Таким образом, вопрос будет заключаться в том, как выполнить перевод между CSize и выводом GetTopIndex или GetScrollInfo / Pos.

10
задан User 30 September 2011 в 16:25
поделиться