VB中HitTest方法的应用

很久没有用过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 If

End Sub

2.TreeView

Private Sub TreeView1_MouseMove(Button As Integer,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方法来实现一些需要的功能

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...