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