It appears that some people can scroll the msFlexGrid control with their mouse wheel with no problem while others can not. Not sure it is a Windows version problem or a type-of-mouse problem or a combination of both.
Here are two ways you can scroll the msFlexGrid Control in VB6
The first way allows for true scrolling via the mouse wheel, just like the listbox scrolls with the mouse wheel. The only issue (for some) is it involves subclassing. You can download a zip file that contains the needed code along with a few examples.
As always, when it comes to subclassing, if there is an error or program stop while in the middle of message transmission, your vb6 application is going to crash so your best bet is to add the subclassing code as the very last thing for your project completion.
The second way of scrolling the msFlexgrid is a sort of scrolling/hot tracking combination.
The code is actually very simple.
Private Sub msFlexGrid_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
' calculate the row the mouse is under by dividing Y by the height of the rows.
' this assumes all the rows are the same height. At design or runtime, for the
' property .AllowUserResizing use one of these two settings
' .AllowUserResizing = flexResizeColumns
' .AllowUserResizing = flexResizeNone
Dim rowUnder As Integer: rowUnder = (Y / .rowHeight(2)) - 1 ': Debug.Print rowUnder
'set the top row to the row we are under
.TopRow = rowUnder