Delphi - Get and Set Scrollbar Pozycja ListView

To może wydawać się głupie i proste pytanie, a jednak nie byłem w stanie znaleźć satysfakcjonującej odpowiedzi. Zasadniczo mamTListview (style = vsReport) z danymi. Czasami muszę go zaktualizować, dlatego muszę wyczyścić listę i wypełnić ją ponownie zaktualizowanymi danymi.

Jednak gdy to zrobię, pozycja paska przewijania zostanie zresetowana do 0. Chciałbym móc uzyskać pozycję paska przewijania przed czyszczeniem i przywrócić ją do stanu sprzed. Jeśli zaktualizowane dane mają dokładnie taką samą liczbę wierszy jak stare dane, potrzebuję paska przewijania, aby znajdował się dokładnie w tej samej pozycji, co poprzednio; jeśli nie, potrzebuję go po prostu mniej więcej w tym samym miejscu, co poprzednio.

Wydaje się łatwe, prawda? Jednak wszystko, co znalazłem, to hacki lub ulepszeniaTopItem iMakeVisible. Czy istnieje odpowiednia metoda, aby to zrobić?

Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion