Here is the code I used in the MSFlexGrid control
Private Sub grdParts_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim lngCount As Long
Dim lngRow As Long
For lngCount = 1 To grdParts.Rows
If grdParts.RowIsVisible(lngCount) = True Then Exit For
Next
lngRow = lngCount + CInt((y / grdParts.RowHeight(0)) - 0.5) - 1
grdParts.ToolTipText = grdParts.TextMatrix(lngRow, 1) & " " & grdParts.TextMatrix(lngRow, 2) & " " & grdParts.TextMatrix(lngRow, 3)
'Debug.Print x & " " & lngCount + CInt((y / grdParts.RowHeight(0)) - 0.5)
End Sub
Here is the code for the DataGrid
Private Sub DataGrid1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim RowValue As Long
Dim intCols As Integer
Dim strToolTip As String
RowValue = DataGrid1.RowContaining(Y)
If RowValue <> -1 Then
For intCols = 0 To DataGrid1.Columns.Count - 1
strToolTip = strToolTip & " " & DataGrid1.Columns(intCols).CellValue(DataGrid1.RowBookmark(RowValue))
Next
End If
DataGrid1.ToolTipText = strToolTip
End Sub