先做個菜單,沒不可視,并在鼠標右擊事件中寫入彈出菜單
當Me.TreeView1.SelectedItem.index
被選擇,調用鼠標右擊事件

解决方案 »

  1.   

    Dim CurrentNode As Long
    Dim isNode As Boolean
    Private Sub Form_Load()
        TreeView1.Nodes.Add , , "a", "a"
        TreeView1.Nodes.Add "a", tvwChild, , "b"
    End SubPrivate Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
        If Button = 2 And isNode Then
            TreeView1.Nodes.Add CurrentNode, tvwChild, , "temp"
        End If
        isNode = False
        me.popupmenu menuame,flags
    End SubPrivate Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
        CurrentNode = Node.Index
        isNode = True
    End Sub
      

  2.   

    问:WHOSE
    判断单击的节点的键直或名字也可以吧。
      

  3.   

    不知道你的TREEVIEW结构如何定义,符合什么条件的是主点
    符合什么条件的又叫做子节点?你需要的功能大致实现方法如下:
    利用MOUSEUP事件的X,Y参数,再利用TREEVIEW的HITTEST方法判断鼠标
    在哪个NODE上。然后判断该NODE是否为子节点(例如,如果你定义自身
    没有子节点的节点就叫做“子节点”,那么可以用NODE的CHILDREN属性
    来判断),如果是,则弹出菜单;否则退出。