很久没有用过VB6了,最近有人问到一些问题,所以在这里回忆一下

HitTest方法, 在指定的屏幕坐标位置检索子对象。(这个解释是.net下说明,VB6下应该一样的,有什么问题的话朋友们可以回贴告诉我)

在VB6两个用的比较多的控件:ListView TreeView,如果我们通过鼠标移动来获取当前位置的内容,可以利用控件中HitTest方法来获取。下面例子是个显示鼠标位置提示信息,有兴趣的可以参考一下:

1.ListView

Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
     Dim li As ListItem
     Set li = ListView1.HitTest(x, y)
     
     If li Is Nothing Then
         ListView1.ToolTipText = ""
     Else
         ListView1.ToolTipText = li.Text
     End IfEnd Sub


 

2.TreeView

Private Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
     Dim ti As Node
     Set ti = TreeView1.HitTest(x, y)
     If ti Is Nothing Then
         TreeView1.ToolTipText = ""
     Else
         TreeView1.ToolTipText = ti.Text
     End If
 End Sub

 

在这里要注意两个事件中定义的部分。另外.NET下此方法仍在使用,可以根据HitTest方法来实现一些需要的功能