CListCtrl (レポート スタイル) を使用して、リストをクリアし、特定の時間に再作成します。これを行うときに、垂直スクロール位置を維持したいと思います。有望に見えるいくつかの方法があることがわかりました。
EnsureVisible()
GetScrollPos()
SetScrollPos()
GetScrollInfo()
GetTopIndex()
Scroll()
GetScrollPos() と SetScrollPos() を試していますが、機能していないようです。スクロール位置を保存して後で復元する簡単で正しい方法は何ですか?
アップデート
実際には、スクロール位置 GetScrollPos() を保存してから SetScrollPos() を保存して復元できるようですが、文字通りスクロールバーの位置を設定しているように見え、実際には CListCtrl の項目をスクロールしません。
更新 2
Scroll() メソッドは、スクロールバーとコンテンツを正しくスクロールしているようです。ただし、引数として CSize オブジェクトを取ります。したがって、問題は、CSize と GetTopIndex または GetScrollInfo/Pos の出力との間でどのように変換するかです。