| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 402 人关注过本帖
标题:VB6.0中TreeView控件,如何点击节点切换右侧界面, 在同一窗体当中显示,求 ...
只看楼主 收藏
DarkYellow
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-1-2
结帖率:100%
  已结贴   问题点数:20  回复次数:8   
VB6.0中TreeView控件,如何点击节点切换右侧界面, 在同一窗体当中显示,求老师们指导,谢谢了
在VB6.0中TreeView控件,如何点击节点切换右侧界面,调用不同的界面,并且在同一窗体当中显示,该怎么编程,求老师们指导
2018-01-02 16:42
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:579
专家分:3273
注 册:2016-5-10
  得分:4 
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

当然连接数据库是不是必要,就看你的具体要求了,仅供参考。

QQ    2653043392
2018-01-02 17:45
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:7
帖 子:80
专家分:400
注 册:2016-3-10
  得分:4 
假设树下  
  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
2018-01-02 18:43
DarkYellow
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-1-2
  得分:0 
回复 2楼 ZHRXJR
谢谢您了,右侧暂时不链接数据库,只是想切换不同的窗口
2018-01-02 19:09
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:7
帖 子:80
专家分:400
注 册:2016-3-10
  得分:2 
右侧放多个frame1,frame2。。。。,每一个放不同的窗体控件。

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

2018-01-02 19:12
DarkYellow
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-1-2
  得分:0 
回复 5楼 wds1
谢谢
2018-01-03 14:23
DarkYellow
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-1-2
  得分:0 
回复 3楼 wds1
谢谢
2018-01-03 14:23
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:579
专家分:3273
注 册:2016-5-10
  得分:10 

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

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编辑过]

附件: 您没有浏览附件的权限,请 登录注册

QQ    2653043392
2018-01-03 17:15
DarkYellow
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-1-2
  得分:0 
回复 8楼 ZHRXJR
谢谢您了
2018-01-06 19:50







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

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