你在Mouse_Move里,判断button=0,就可以抓住事件了啊。只要在此时setfocus就可以了啊。
解决方案 »
- 求教 List1.List(List1.ListIndex)的区别List1.ListIndex
- VB 多字段分组(每页显示不同组)打印如何限制每页的纪录数!
- 上次没有说清楚.vb的form窗体为什么在最小化后再打开,或者开了别的程序窗口后,窗体上就变成空的了?
- 怎麼在水晶報表中將豎的變成橫的打印?
- excel中获得图表的数据源,也就是建立图表所用的数据怎么获得。
- 请教打印问题
- 急!各位手帮帮忙,请问,用SQL取一段时间内的数据,谢了!
- 最后80分!请教如何实现自己的程序在局域网内感染?
- 关于vb连接oracle的问题
- 谁能给我看一段简单的邮件发送程序源代码?
- 问一个很急人的问题:当我在删除access数据库中的一个表时,总是错误提示"先关闭表,再删除",可我找不到在那儿打开过,请问如何强行删除或在
- 如何批量更新recordset中的字段值,急!在线等待
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 LongDim ListIndex As IntegerPrivate Sub Form_Load()
Dim i As Integer
For i = 0 To 20
List1.AddItem "Item" & i
Next
End SubPrivate Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
If ListIndex <> -1 Then
List1.ListIndex = ListIndex
End If
End If
End SubPrivate Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim pos As Long, idx As Long
pos = X / Screen.TwipsPerPixelX + Y / Screen.TwipsPerPixelY * 65536
idx = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal pos)
If idx < 65536 Then
ListIndex = idx
Text1.Text = List1.List(idx)
End If
End Sub