'1.API 的声明:
Const LB_ITEMFROMPOINT = &H1A9
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
'2.代码
Private Sub Listbox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
If Button = 2 Then
Dim Pos As Long, idx As Long
Pos = X / Screen.TwipsPerPixelX + Y / Screen.TwipsPerPixelY * 65536
idx = SendMessage(ListFin.hwnd, LB_ITEMFROMPOINT, 0, ByVal Pos)
' idx 即等于鼠标所在位置的选项
If idx < 65536 Then
Listbox1.ListIndex = idx
PopupMenu pop1 'pop1为菜单
End If
End If
End Sub
相关文章参考:
※VB动态拖曳Listbox Item位置
相关
文 章 参考 :※vb在 ListBox 之中点击右键弹出菜单