Remember and restore a CListCtrl Horizontal Scroll Position
Posted on 2006-06-02
I'm trying to remember and restore a list control's horizontal scroll position in my dialog.
The list control displays calibration data. If new cal data is captured, the list control's contents are deleted and completely redrawn with the new data (not the best way to do things, I know...but I don't have time to redo all of that...). My users want to be able to watch a certain "area" of the list control while collecting cal data and not have to constantly rescroll back to the area under observation.
I've tried a few things that I've seen here to no avail.
I've tried using get/set scroll info but that only works to a point...the scroll bar returns to the proper position but the contents of the list control do not follow - like the list control view is disconected from the scroll.
I've tried using the .Scoll member using the nPos value of a SCROLLINFO struct. There seems to be some offset problem with it, in that as I try to restore the position for info that is out of the client area of the control, the view of the data that I want to see is less and less correct. (If that makes any sense...).