Utilisation de la propriété ToolTipText

 

Lorsque l'on utilise une listeview avec beaucoup de colonnes et de lignes, il peut être pratique pour l'utilisateur de visualiser dans le tooltiptext le contenu de la cellule qui se trouve sous le curseur.

Dans la zone de déclaration globale

Public Type POINTAPI

x As Long

y As Long

End Type

Public Type LVHITTESTINFO

pt As POINTAPI

flags As Long

iItem As Long

iSubItem As Long

End Type

Dans les événements d'une feuille

Private Sub lstText_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

lstText.ToolTipText = TrouveSubItemText(lstText, x, y)

End Sub 

 

Dans une fonction

Function TrouveSubItemText(lstListView As ListView, x As Single, y As Single) As String

'

' En fonction de la position de la souris, trouver le text du subtiem

'

Dim HTI As LVHITTESTINFO

Dim lRECT As RECT

 

On Error Resume Next

 

If lstListView.HitTest(x, y) Is Nothing Then Exit Function

 

TrouveSubItemText = lstListView.HitTest(x, y).Text

 

Err.Clear

 

With HTI

.pt.x = (x \ Screen.TwipsPerPixelX)

.pt.y = (y \ Screen.TwipsPerPixelY)

.flags = LVHT_ONITEM

End With

Call SendMessage(lstListView.hwnd, LVM_SUBITEMHITTEST, 0, HTI)

If HTI.iSubItem > 0 Then

TrouveSubItemText = lstListView.HitTest(x, y).SubItems(HTI.iSubItem)

End If

End Function