在空白处调出的菜单和在node上的不一样,而且在不同的node上的菜单也不一样。怎么弄?

解决方案 »

  1.   

    在所在窗体定义两个公用变量,用于保存鼠标的坐标值
    dim xPos as single
    dim yPos as single
    在treeview的mousemove事件写入以下语句,给坐标变量赋值
    xPos=x
    yPos=y在treeview的mouseup事件写入以下语句,判断是否有Node被点击并弹出菜单if treeview.hittest(xPos,yPos) is nothing then '点击的是空白处
        exit sub '或输入你要的代码
    else
        你对被点击的node进行判断,是哪个被点击,然后给出不同代码
    end if
    '你给的分数太少了吧??接分
      

  2.   

    Private Sub Form_Load()
     TreeView1.LineStyle =TvwTreeLines '在兄弟节点和父节点之间显示线 
     TreeView1.ImageList = ImageList1 '链接图像列
     TreeView1.Style = tvwTreelinesPlusMinusPictureText 
     '树状外观包含全部元素
     Set nodx = TreeView1.Nodes.Add(, , "蒲子明", "蒲子明", 1) 
     '建立名称为"蒲子明"的父节点,选择索引为1的图像 
     Set nodx = TreeView1.Nodes.Add("蒲子明", tvwChild, "child01", "收件箱", 3) 
     '在"蒲子明"父节点下建立"收件箱"子节点,选择索引为3的图像
     Set nodx = TreeView1.Nodes.Add("蒲子明", tvwChild, "child02", "发件箱", 3)
     '在"蒲子明"父节点下建立"发件箱"子节点,选择索引为3的图像
     CunZai = False
    End SubPrivate Sub TreeView1_Expand(ByVal Node As MSComctlLib.Node)
     Node.ExpandedImage = 2 '节点被展开时,选择索引为2的图像
    End SubPrivate Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) 
     If TreeView1.SelectedItem.Children = 0 Then '检查是否有子节点,0为无
      For I = 1 To TreeView1.Nodes.Count
      If TreeView1.Nodes(I).Selected Then
       MsgBox "您选择的是:“" & TreeView1.Nodes(I).FullPath & "”子节点!" 
        '系统提示
      End If
      Next I
     End If 
    End Sub