Hi,大家好呀!

最近一款游戏非常火热,没错就是吉吉国王大战光头强,稍微晃一下大家,是的,就是现在非常火的《黑神话:悟空》。不知道大家有没有第一时间去下载试玩呢?我就比较尬尴了,我的笔记本显卡不行,玩不了(哭脸!),所以我准备去蹭玩(狗头!)。既然,这游戏热度这么高,那我们今天分享的内容怎么也要和悟空搭上点关系!

我们来看一下效果!

如何捕获TreeView节点的双击事件?_控件



今天教大家怎么捕获treeview树控件的双击事件,我们开始动手操作吧!

01、创建窗体

我们先创建一个窗体,在窗体上放一个树控件,控件的名称为TreeView0,如下图:

如何捕获TreeView节点的双击事件?_treeview_02


02、添加树控件代码

在窗体的加载事件里添加代码,具体的代如下,这里我们写的简单一点,所有的节点都是自己手工输入,当然你如果有现成的代码,可以直接拿过来用。


Private Sub Form_Load()
    Dim objTree         As Object 'TreeView
    Dim objNode         As Object 'Node

    Const tvwChild = 4

    Set objTree = Me.TreeView0.Object
    objTree.Nodes.Clear
    objTree.Nodes.Add , , "K", "悟空"
    objTree.Nodes.Add "K", tvwChild, "K1", "棍法"
    objTree.Nodes.Add "K1", tvwChild, "K11", "立棍"
    objTree.Nodes.Add "K11", tvwChild, "K111", "立棍"
    objTree.Nodes.Add "K11", tvwChild, "K112", "悠哉"
    objTree.Nodes.Add "K11", tvwChild, "K113", "风云转"
    objTree.Nodes.Add "K11", tvwChild, "K114", "江海翻"

    objTree.Nodes.Add "K", tvwChild, "K2", "悠哉"
    objTree.Nodes.Add "K2", tvwChild, "K21", "定身法"
    objTree.Nodes.Add "K21", tvwChild, "K221", "脆断"
    objTree.Nodes.Add "K21", tvwChild, "K222", "瞬机"
    objTree.Nodes.Add "K21", tvwChild, "K223", "不破不立"

    objTree.Nodes.Add "K", tvwChild, "K3", "身法"
    objTree.Nodes.Add "K3", tvwChild, "K31", "聚形散气"
    objTree.Nodes.Add "K31", tvwChild, "K331", "捣虚"
    objTree.Nodes.Add "K31", tvwChild, "K332", "洞察"
    objTree.Nodes.Add "K31", tvwChild, "K333", "铁棒当头"

    For Each objNode In objTree.Nodes
        objNode.Expanded = True
    Next

    Set objTree = Nothing
    Set objNode = Nothing
End Sub
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.


03、添加捕获事件

最后我们就可以添加一下捕获事件了,具体的代码如下:

Private Sub TreeView0_DblClick()
    Dim objNode As Object

    '双击时再通过HitTest方法来验证刚才记录的坐标是否位于一个有效的节点上
    Set objNode = Me.TreeView0.HitTest(mlng_X, mlng_Y)
    If Not objNode Is Nothing Then
        MsgBox "你触发了节点【" & objNode.Text & "】的双击事件", vbInformation, "双击事件捕获"
    End If
End Sub
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.


添加好代码后,我们就可以双击树控件,捕获悟空的“技能点”了!


最后,我们就可以运行测试一下了,好了,大家快去试一下吧!最后的最后,大家的电脑或者主机能不能借我玩玩(邪恶脸!)


(

END

)