I've built a ListView class for VB6 which does everything I need to do with a ListView in Report view, such as handling sorting, column header clicks, quickly loading entire lines, alternating line colors, etc. I'm trying to implement a Scroll method, which will scroll the ListView either vertically or horizontally. The vertical part is working fine using SendMessage with a scroll message, and a horizontal and/or vertical amount.

The horizontal also works (to a point). I can scroll it horizontally a set distance, but that's not very useful. What I need is to be able to scroll a column at a time horizontally. The only way I can think of to do this is finding the first visible column, get its width, & scroll that much.

I've tried using SendMessage with the LVW_SUBITEMHITTEST message, but I can't seem to get that to work. Does anybody have any ideas?