segun creo, esto no es posible desde visual basic, quizas me equivoque, pero una vez mas las API\'s de Windows estan aqui para salvarnos :D
mira este codigo que hize:
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 List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Index As Long
Dim XPoint As Long
Dim YPoint As Long
Dim ZPoint As Long
If Button = vbRightButton Then \'-- boton derecho presionado
XPoint = CLng(X / Screen.TwipsPerPixelX)
YPoint = CLng(Y / Screen.TwipsPerPixelY)
ZPoint = CLng(YPoint * &H10000 + XPoint)
With List1
Index = SendMessage(.hWnd, LB_ITEMFROMPOINT, 0, ByVal ZPoint)
If Index >= 0 And Index <= .ListCount Then
.Selected(Index) = True '-- selecionar item
End If
End With
PopupMenu mnuFile '-- mostrar popupmenu
End If
End Sub
chao