'Dieser Source stammt von http://www.ActiveVB.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.
'Sollten Sie Fehler entdecken oder Fragen haben, dann
'mailen Sie mir bitte unter: mail@ActiveVB.de
'Ansonsten viel Spaß und Erfolg mit diesem Source !
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
Const LB_ITEMFROMPOINT = &H1A9
Private Sub Form_Load()
List1.AddItem "Erbsen"
List1.AddItem "Pilze"
List1.AddItem "Kohl"
List1.AddItem "Möhren"
List1.AddItem "Bohnen"
List1.AddItem "Kartoffeln"
List1.ListIndex = 0
End Sub
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Dim P&, LX&, LY&, Param&
LX = List1.Parent.ScaleX(X, List1.Parent.ScaleMode, vbPixels)
LY = List1.Parent.ScaleY(Y, List1.Parent.ScaleMode, vbPixels)
Param = CLng(LX) + &H10000 * CLng(LY)
P = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal Param)
If P < List1.ListCount Then List1.ListIndex = P
End Sub