'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 之中点击右键弹出菜单
相关文章参考:
★VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)
★VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)
★VB根据窗体自动调整窗体内控件大小 注:实用,可以直接引用
★Visual Basic编程常见问题及解答(1)
★Visual Basic编程常见问题及解答(2)
★Visual Basic编程常见问题及解答(3)
★VisualBasic变量、常数和数据类型及过程概述
★VB6的后期绑定和前期绑定
★VB 计算自己程序段所用时间
★VB 获取路径名各部分 (获取文件路径,获取文件名,获取文件扩展名)自编
★VB 在浏览器中打开指定网址
评论