VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "ListBoxTooltip" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = False Option Explicit ' --- 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 Public WithEvents ListBox As ListBox Attribute ListBox.VB_VarHelpID = -1 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