Delphi - Obtener y establecer la posición de la barra de desplazamiento de un ListView

Puede parecer una pregunta tonta y simple y, sin embargo, no he podido encontrar una respuesta satisfactoria. Básicamente, tengo unTListview (estilo = vsReport) con datos. A veces, tengo que actualizarlo y, por lo tanto, tengo que borrar la vista de lista y rellenarla nuevamente con los datos actualizados.

Sin embargo, cuando hago eso, la posición de la barra de desplazamiento se restablece a 0. Me gustaría poder obtener la posición de la barra de desplazamiento antes del borrado y volver a establecerla como estaba antes. Si los datos actualizados tienen la misma cantidad exacta de filas que los datos antiguos, necesito que la barra de desplazamiento esté exactamente en la misma posición que antes; Si no, solo necesito que esté más o menos en el mismo lugar que antes.

Parece fácil, ¿verdad? Sin embargo, todo lo que he encontrado son hacks o ajustes conTopItem yHacer visible. ¿Hay algún método apropiado para hacer eso?

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta