比如我是在treeview上做右键弹出,用的事件是mousedown 或 mouseup(好像只能这两个事件),我想只在node上点击右键才弹出菜单,应该怎么做?如果不限定的话,它在treeview的任何地方点击都会弹出....

解决方案 »

  1.   

    Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
         Dim objitem
         If Button = vbRightButton Then
            TreeView1.SelectedItem = TreeView1.HitTest(x, y)
            If Not TreeView1.SelectedItem Is Nothing Then
                PopupMenu mnuFiles
            End If
         End If
    End Sub我是这么写的,不知道合不合适
      

  2.   

    不错,是这个,其他的如listview之类的也可以用 hittest 来实现这个效果吗?