ListbToolTip




Public WithEvents ListBox As ListBox
Private Sub ListBox_MouseMove(Button As Integer, Shift As Integer, X As Single, _
Y As Single)
Dim oldFont As StdFont, itemIndex As Long

' since a listbox doesn't have a TextHeight method

' we must borrow it from its Parent

With ListBox.Parent
Set oldFont = .Font
Set .Font = ListBox.Font
' determine which element the mouse is on

itemIndex = Y \ .TextHeight("A") + ListBox.TopIndex
' restore fonts

Set .Font = oldFont
End With

' set the tooltip to the current item's string

If itemIndex < ListBox.ListCount Then
ListBox.ToolTipText = ListBox.List(itemIndex)
Else
ListBox.ToolTipText = ""
End If
End Sub

The ListBoxTooltip class
Usage in the client form:

Dim lstTT As New ListBoxTooltip
Private Sub Form_Load()
Set lstTT.ListBox = List1
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set lstTT.ListBox = Nothing
End Sub











( listbtooltip.html )- by Paolo Puglisi - Modifica del 17/12/2023