Tjenis. På ett formulär har jag en DBList. Skulle vilja att raderna i den markerades när musen pekar på respektive rad. Typ nån "Focuswhenmouseover" funktion, så att användaren av programmet bara behöver klicka en gång, men ändå inte vara osäker på vad han klickar på. Hittar inget lämpligt i Egenskaperna eller i MSDN. Om det hade varit en lisbox skulle man kunna göra så här:Mouse over
Nån som vet? Eller har tips på nån som vet?
Tackelitack!
/StefanSv: Mouse over
<code>
Private Const LB_GETTOPINDEX = &H18E
Private Const LB_SETCARETINDEX = &H19E
Private Const LB_GETITEMHEIGHT = &H1A1
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
Public Sub FocusFollowMouse(ListBox As ListBox, ByVal Y As Long)
Dim TopIndex As Long
Dim ItemHeight As Long
TopIndex = SendMessage(ListBox.hwnd, LB_GETTOPINDEX, 0&, ByVal 0&)
ItemHeight = SendMessage(ListBox.hwnd, LB_GETITEMHEIGHT, 0&, ByVal 0&)
SendMessage ListBox.hwnd, LB_SETCARETINDEX, TopIndex + Y \ ItemHeight, ByVal 0&
End Sub
</code>
Men en DBList stödjer inte LB_ meddelandena. MAn kan ju kanske slå upp hantaget på listboxen kontroll använder och anropa den. Men tittar på det senare.