У меня есть CListCtrl (стиль отчета), где я очищаю список и повторно заселяю его в определенное время. При этом я хотел бы сохранить вертикальную позицию прокрутки. Я вижу, что есть несколько методов, которые выглядят многообещающе:
EnsureVisible()
GetScrollPos()
SetScrollPos()
GetScrollInfo()
GetTopIndex()
Scroll()
Я пытаюсь GetScrollPos(), а затем SetScrollPos(), но он не работает. Каков простой правильный способ сохранить положение прокрутки, а затем восстановить его?
UPDATE
На самом деле мне кажется, что я могу сохранить положение прокрутки GetScrollPos(), а затем SetScrollPos(), чтобы восстановить его, однако он буквально просто устанавливает положение полосы прокрутки и фактически не прокручивает элементы моего CListCtrl.
ОБНОВЛЕНИЕ 2
Метод Scroll(), кажется, правильно прокручивает полосы прокрутки и содержимое. Однако в качестве аргумента требуется объект CSize. Поэтому вопрос заключается в том, как перевести между CSize и выходом GetTopIndex или GetScrollInfo/Pos.