Hi Hack.
Thanks for quick reply

I made a bit in other way, because in this code that you gave me this does not want to work like I want.
I make it (blnHasSelected = True) in event Mouse_Up because this Click event it happens already in Load event. However I made again the work for this procedure in event Mouse_Move for Form. I seem me that I made it okay. It fine work for me.

have a look, only in this a bit the code:
VB Code:
  1. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  2. blnHasSelected = False
  3. End Sub
  4.  
  5. Private Sub List1_MouseMove(Button As Integer, Shift As Integer, _
  6.                             X As Single, Y As Single)
  7.                            
  8.   If blnHasSelected = False Then  '<<< it I changed here on a False
  9.  
  10.     Dim P&, LX&, LY&, Param&
  11.      
  12.     LX = List1.Parent.ScaleX(X, List1.Parent.ScaleMode, vbPixels)
  13.     LY = List1.Parent.ScaleY(Y, List1.Parent.ScaleMode, vbPixels)
  14.     Param = CLng(LX) + &H10000 * CLng(LY)
  15.  
  16.     P = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal Param)
  17.     If P < List1.ListCount Then List1.ListIndex = P
  18.   End If
  19. End Sub
  20.  
  21. Private Sub List1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  22. blnHasSelected = True
  23. End Sub

Again very thanks, Hack