声明
Const LB_ITEMFROMPOINT = &H1A9
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 Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lXPoint As Long
Dim lYPoint As Long
Dim lIndex As Long
'
If List1.ListIndex > -1 Then ' 如果没有按钮被按下
lXPoint = CLng(X / Screen.TwipsPerPixelX)
lYPoint = CLng(Y / Screen.TwipsPerPixelY)
With List1
' 获得当前的光标所在的的屏幕位置确定标题位置
lIndex = SendMessage(.hwnd, LB_ITEMFROMPOINT, 0, ByVal ((lYPoint * 65536) + lXPoint))
' 显示提示行或清除提示行
If (lIndex >= 0) And (lIndex <= .ListCount) Then
.ListIndex = lIndex
'List1.list(lIndex)就是你选中的项
Popupmenu YourMenu
'我还不能"并且在菜单中添加自己的ITEM。" End If
End With
End If
End Sub
Const LB_ITEMFROMPOINT = &H1A9
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 Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lXPoint As Long
Dim lYPoint As Long
Dim lIndex As Long
'
If List1.ListIndex > -1 Then ' 如果没有按钮被按下
lXPoint = CLng(X / Screen.TwipsPerPixelX)
lYPoint = CLng(Y / Screen.TwipsPerPixelY)
With List1
' 获得当前的光标所在的的屏幕位置确定标题位置
lIndex = SendMessage(.hwnd, LB_ITEMFROMPOINT, 0, ByVal ((lYPoint * 65536) + lXPoint))
' 显示提示行或清除提示行
If (lIndex >= 0) And (lIndex <= .ListCount) Then
.ListIndex = lIndex
'List1.list(lIndex)就是你选中的项
Popupmenu YourMenu
'我还不能"并且在菜单中添加自己的ITEM。" End If
End With
End If
End Sub
解决方案 »
- 最好的视频教程网站
- 做控件时调用imagelist控件的属性页
- VB6.0 加了 sp6 补丁后,MSCOMM 到底最多支持多少个串口?
- 急 求助!有关数据库查询的问题
- 类模块的代码中访问不了主窗体中的控件, 请问该如何解决? 急!急!急!
- 大家帮忙啊!!!!!
- 请问这个SQL那里错了!!!!!!!!!!!!!
- 记录集rs引用问题
- 怎么获取本窗体的进程(PID),或者流量,或者webbrowser是否在线
- 大家好,我的VB的外接程序管理器里面只有几项,像API浏览器、资源文件编辑器之类的好象都找不到了,请问怎么回事?我重装了VB也不行!
- 简单问题,关于菜单,第一个给出正确答案者给分
- 请问VBA的问题,我怎么加入事件的判断呢??
1、用控件数组,需要的时候就Load2、看 API
h = 需要被添加的菜单句柄
InsertMenu h, -1, MF_BYPOSITION Or MF_SEPARATOR, 0, "" '分割条
InsertMenu h, -1, MF_BYPOSITION, 10, "关于本程序(&A)" '项目不过对你来说可能不实用,因为还需要子类化窗体,处理菜单消息。
SetWindowLong GWL_WNDPROC, me.hwnd, addressof mywndproc然后……看看其他资料吧。我打字不快。