CListCtrl: ¿Cómo mantener la posición de desplazamiento?
Tengo un CListCtrl (estilo de informe) donde borro la lista y la vuelvo a llenar en ciertos momentos. Me gustaría mantener la posición de desplazamiento vertical al hacer esto. Veo que hay un par de métodos que parecen prometedores:
EnsureVisible()
GetScrollPos()
SetScrollPos()
GetScrollInfo()
GetTopIndex()
Scroll()
Estoy probando GetScrollPos () y luego SetScrollPos () pero no parece funcionar. ¿Cuál es la forma correcta y sencilla de guardar una posición de desplazamiento y luego restaurarla?
ACTUALIZA
En realidad, parece que puedo guardar la posición de desplazamiento GetScrollPos () y luego SetScrollPos () para restaurarlo, sin embargo, literalmente parece establecer la posición de la barra de desplazamiento y en realidad no desplaza los elementos de mi CListCtrl.
UPDATE 2
El método Scroll () parece desplazar correctamente las barras de desplazamiento los contenidos. Sin embargo, toma un objeto CSize como argumento. Entonces, la pregunta sería cómo traducir entre CSize y la salida de GetTopIndex o GetScrollInfo / Pos.