标题:问个简单的小问题
只看楼主
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
结帖率:98.24%
已结贴  问题点数:20 回复次数:6 
问个简单的小问题
TreeView每个子节点能否依需求改变不同的背景颜色?
搜索更多相关主题的帖子: 背景 
2012-08-08 12:05
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
不记得了,要看 treevirw 每个节点的那个类 有没有这个背景颜色的 属性,好像是有。

授人于鱼,不如授人于渔
早已停用QQ了
2012-08-08 15:08
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
试了一下是可以
但是有新问题
这要写个小程序才好说

不要選我當版主
2012-08-08 17:13
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
程序代码:
Private Sub Form_Load()
Dim i As Integer

    Set node1 = TreeView1.Nodes.Add(, , "school", "学校")
    Set node2 = TreeView1.Nodes.Add(node1.Index, tvwChild, "section", "部门")
    Set node3 = TreeView1.Nodes.Add(node2.Index, tvwChild, "department", "院系")
    Set node4 = TreeView1.Nodes.Add(node2.Index, tvwChild, "excute", "行政")
    Set node5 = TreeView1.Nodes.Add(node2.Index, tvwChild, "logistics", "后勤")
    
    For i = 1 To 10
        Set node5 = TreeView1.Nodes.Add(node3.Index, tvwChild, "AAA" & i, "电子系" & i)
    Next i

End Sub


要如何让"电子系" & i偶数底色变红?

不要選我當版主
2012-08-08 17:29
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
问过同事大概知道了

不要選我當版主
2012-08-08 18:06
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
程序代码:
Option Explicit

Private Sub Command1_Click()

Dim nodx As Node
Dim n As Long

'父节点,这里是演示,可以以参数形式传入
Set nodx = TreeView1.Nodes.Item("d89")

      '获取第一个子节点的文本,并将 N 设置为它的索引值。
      n = nodx.Child.Index

      '若 N 不是子节点的最后相邻节点的索引
      While n <> nodx.Child.LastSibling.Index

         TreeView1.Nodes.Item(n).BackColor = vbGreen        '设置背景颜色
         '重置 N 为下一个相邻节点的索引。
         n = TreeView1.Nodes(n).Next.Index
      Wend
         TreeView1.Nodes.Item(n).BackColor = vbGreen        '补上最后一个的背景颜色

End Sub

Private Sub Form_Load()
   TreeView1.BorderStyle = 1  '确保边界是可视的。
   Dim nodx As Node
   Set nodx = TreeView1.Nodes.Add(, , "d", "Dates")
   Set nodx = TreeView1.Nodes.Add("d", tvwChild, "d89", "1989")
   Set nodx = TreeView1.Nodes.Add("d", tvwChild, "d90", "1990")

   '创建 1989 节点的子节点。
   Set nodx = TreeView1.Nodes.Add("d89", tvwChild, , "John")
   Set nodx = TreeView1.Nodes.Add("d89", tvwChild, , "Brent")
   Set nodx = TreeView1.Nodes.Add("d89", tvwChild, , "Eric")
   Set nodx = TreeView1.Nodes.Add("d89", tvwChild, , "Ian")
   nodx.EnsureVisible '显示所有节点。

   '创建 1990 节点的子节点。
   Set nodx = TreeView1.Nodes.Add("d90", tvwChild, , "Randy")
   Set nodx = TreeView1.Nodes.Add("d90", tvwChild, , "Ron")
   nodx.EnsureVisible '显示所有节点。
End Sub

今天开机进 XP 系统,就试着测试了一下,可行。源代码来自 MSDN ,然后修改 。

授人于鱼,不如授人于渔
早已停用QQ了
2012-08-10 18:08
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
程序代码:
For i = 0 To UBound(Selected)
        If Selected(i) <> "" Then
            For j = 1 To ProjManagerTreeView.Nodes.Count
                If (InStr(Selected(i), "True") <> 0) And (ProjManagerTreeView.Nodes(j).Text = Mid(Selected(i), 1, InStr(Selected(i), ",") - 1)) Then
                    ProjManagerTreeView.Nodes(j).BackColor = vbRed
                End If
            Next j
        End If
    Next i

不要選我當版主
2012-08-13 11:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-374919-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.749415 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved