注册 登录
编程论坛 VB6论坛

VB6.0中TreeView控件,如何点击节点切换右侧界面, 在同一窗体当中显示,求老师们指导,谢谢了

DarkYellow 发布于 2018-01-02 16:42, 4647 次点击
在VB6.0中TreeView控件,如何点击节点切换右侧界面,调用不同的界面,并且在同一窗体当中显示,该怎么编程,求老师们指导
8 回复
#2
ZHRXJR2018-01-02 17:45
TreeView控件点击节点的事件是:
程序代码:
Private Sub TreeView1_NodeClick(ByVal Node As Node)
If (Node.Index - 1) > 0 And (Node.Index - 1) < 2000 Then
    If Not Val(XYID(Node.Index - 1)) <= 0 Then
       '连接数据库语句略
        strSQL = "select * from 数据表 Where ID=" & Val(XYID(Node.Index - 1)) & ""   'XYID(Node.Index - 1)是获取记录的ID值
        RS.Open strSQL, db, 3, 2
            '这里就是右侧界面中数据的不同界面显示的代码,由于不清楚你的右侧界面,不能具体回答。
        RS.Close
        db.Close
    End If
End If
End Sub

当然连接数据库是不是必要,就看你的具体要求了,仅供参考。
#3
wds12018-01-02 18:43
假设树下  
  TreeView1.Nodes.Add , "tvwfirst", "L1", "所有影片", 1
  TreeView1.Nodes.Add "L1", tvwChild, "L21", "影片类型", 2
  TreeView1.Nodes.Add "L1", tvwChild, "L23", "IMDB评分", 2
  TreeView1.Nodes.Add "L1", tvwChild, "L22", "影片年代", 2

 Private Sub TreeView1_Click()
   tree_text = TreeView1.SelectedItem'取得标题
   Tree_type = TreeView1.SelectedItem.Key'取得键值
   '根据标题和键值你自己控制
 end sub
#4
DarkYellow2018-01-02 19:09
回复 2楼 ZHRXJR
谢谢您了,右侧暂时不链接数据库,只是想切换不同的窗口
#5
wds12018-01-02 19:12
右侧放多个frame1,frame2。。。。,每一个放不同的窗体控件。

之后根据TreeView1.SelectedItem,做frame1.zorder(0),把选择窗体的置前。

#6
DarkYellow2018-01-03 14:23
回复 5楼 wds1
谢谢
#7
DarkYellow2018-01-03 14:23
回复 3楼 wds1
谢谢
#8
ZHRXJR2018-01-03 17:15
只有本站会员才能查看附件,请 登录

给你一个比较完整的代码:
程序代码:

Dim ZCYMC(1 To 15) As String

Private Sub Form_Load()
Dim Nodx As Node
Set Nodx = TreeView1.Nodes.Add()

 Nodx.Text = "主树干"
  TreeView1.LabelEdit = tvwManual
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A", "树干1")
Set Nodx = TreeView1.Nodes.Add("A", tvwChild)
             Nodx.Text = "树叶11"
             ZCYMC(Nodx.Index) = "树叶11"
Set Nodx = TreeView1.Nodes.Add("A", tvwChild)
             Nodx.Text = "树叶12"
             ZCYMC(Nodx.Index) = "树叶12"
Set Nodx = TreeView1.Nodes.Add("A", tvwChild)
             Nodx.Text = "树叶13"
             ZCYMC(Nodx.Index) = "树叶13"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "B", "树干2")
Set Nodx = TreeView1.Nodes.Add("B", tvwChild)
             Nodx.Text = "树叶21"
             ZCYMC(Nodx.Index) = "树叶21"
Set Nodx = TreeView1.Nodes.Add("B", tvwChild)
             Nodx.Text = "树叶22"
             ZCYMC(Nodx.Index) = "树叶22"
Set Nodx = TreeView1.Nodes.Add("B", tvwChild)
             Nodx.Text = "树叶23"
             ZCYMC(Nodx.Index) = "树叶23"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "C", "树干3")
Set Nodx = TreeView1.Nodes.Add("C", tvwChild)
             Nodx.Text = "树叶31"
             ZCYMC(Nodx.Index) = "树叶31"
Set Nodx = TreeView1.Nodes.Add("C", tvwChild)
             Nodx.Text = "树叶32"
             ZCYMC(Nodx.Index) = "树叶32"
Set Nodx = TreeView1.Nodes.Add("C", tvwChild)
             Nodx.Text = "树叶33"
             ZCYMC(Nodx.Index) = "树叶33"
  Nodx.EnsureVisible

 TreeView1.StartLabelEdit
End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)
If (Node.Index - 1) >= 0 And (Node.Index - 1) <= 15 Then
Dim AAA As String
    AAA = ZCYMC(Node.Index)
    Text1.Text = AAA   '这样你应该知道怎么在右边显示了吧?
End If
End Sub


[此贴子已经被作者于2018-1-3 17:17编辑过]

#9
DarkYellow2018-01-06 19:50
回复 8楼 ZHRXJR
谢谢您了
1