AllAPI Network - The KPD-Team

 
Allapi Network
 API-Guide
 ApiViewer

 API List

 
API Resources
 Tips & Tricks
 VB Tutorials
 Error Lookup
 
Misc Stuff
 VB examples
 VB Tools
 VB Links
 Top Downloads
 
This Site
 Search Engine
 Contact Form
 

Donate to AllAPI.net

How to display the item which the mouse is over in a list box

I have had many letters which have asked me how to you display in a tooltip or some other means, such as a text box, the current item's text in a list box which the mouse pointer is hovering over. I now have the answer which uses the SendMessage API.

  • Start A new Standard-EXE project, form1 is created by default.
  • Add a list box and a text box to form1.
  • Open up the code window for Form1 and type the following
Option Explicit

Private Declare Function SendMessage Lib _
"user32" Alias "SendMessageA" (ByVal hwnd _
As Long, ByVal wMsg As Long, ByVal wParam _
As Long, lParam As Any) As Long
Private Const LB_ITEMFROMPOINT = &H1A9

Private Sub Form_Load()
With List1
    .AddItem "Visit"
    .AddItem "Steve Anderson Web Site AT"
    .AddItem "http://www.microweird.demon.co.uk"
End With
End Sub

Private Sub List1_MouseMove(Button _
As Integer, Shift As Integer, X As _
Single, Y As Single)
Dim lXPoint As Long
Dim lYPoint As Long
Dim lIndex As Long
If Button = 0 Then ' if no button was pressed
    lXPoint = CLng(X / Screen.TwipsPerPixelX)
    lYPoint = CLng(Y / Screen.TwipsPerPixelY)
    With List1
        ' get selected item from list
        lIndex = SendMessage(.hwnd, _
        LB_ITEMFROMPOINT, 0, ByVal _
        ((lYPoint * 65536) + lXPoint))
        ' show tip or clear last one
        If (lIndex >= 0) And _
        (lIndex <= .ListCount) Then
            .ToolTipText = .List(lIndex)
            Text1.Text = .List(lIndex)
        Else
            .ToolTipText = ""
        End If
    End With
End If
End Sub

Run the project(F5) and hover your cursor over different items in the list box and they will be displayed in a tooltip and in Text1.

 

 


Copyright © 1998-2007, The Mentalis.org Team - Privacy statement
Did you find a bug on this page? Tell us!
This site is located at http://allapi.mentalis.org/