-
相鄰節(jié)點(diǎn)特點(diǎn):就是具有相同的父級key值。
-
創(chuàng)建節(jié)點(diǎn)時(shí)采用方法:
-
dim mytext as string
-
dim myid as int
-
myid = treeview.selenode.index '選中節(jié)點(diǎn)的索引值
-
mytext = treeview.selenode.text ’選中節(jié)點(diǎn)的文本字符
-
node.add (, ,
treeview控件用于顯示分級的數(shù)據(jù),列如組織樹,磁盤上的文件和目錄。
圖例 2.40 典型的TreeView
可能用法:
.創(chuàng)建一個(gè)能被用戶使用的組織樹
.創(chuàng)建一個(gè)顯示二級或更多數(shù)據(jù)的樹
設(shè)置Node對象屬性
一個(gè)”tree“由許多層疊樹叉的“nodes”組成,每個(gè)結(jié)點(diǎn)由圖片(設(shè)置圖片屬性)和一個(gè)標(biāo)簽(設(shè)置文本屬性)代表構(gòu)成。
提供給結(jié)點(diǎn)的圖片由聯(lián)結(jié)到TreeView控件的ImageList控件提供。
一個(gè)結(jié)點(diǎn)可以展開或收縮,依賴于此結(jié)點(diǎn)是否有子結(jié)點(diǎn)。在最頂端層是”root“結(jié)點(diǎn),并且每個(gè)根結(jié)點(diǎn)有一定數(shù)量的子結(jié)點(diǎn)。
結(jié)點(diǎn)的總數(shù)不受限制(除非機(jī)器約束)。圖例2.41顯示一個(gè)樹以及2個(gè)根結(jié)點(diǎn);”root1“有3個(gè)子結(jié)點(diǎn),”child3“有一個(gè)它
自己的子結(jié)點(diǎn)。”root2“有子結(jié)點(diǎn),并且通過”+“預(yù)示,但是沒有展開。
圖例2.41 Root and child nodes
樹里的每個(gè)結(jié)點(diǎn)實(shí)際是一個(gè)可編程的Node對象---屬于Nodes 搜索集。在其他的搜索集,這里每個(gè)成員有一個(gè)唯一的引索和
關(guān)鍵屬性,他們允許你存取結(jié)點(diǎn)的屬性。例如,下面的結(jié)點(diǎn)用特定的引索node("7")設(shè)置圖片和文本屬性:
tvwMyTree.Nodes(7).Image="closed"
tvwMyTree.Nodes(7).Text="ieee"
無論如何,如果一個(gè)唯一的關(guān)鍵,例如”7 ID“被賦值于結(jié)點(diǎn),代碼書寫如下:
tvwMyTree.Nodes("7 ID").Image="closed"
tvwMyTree.Nodes("7 ID").Text="ieee"
結(jié)點(diǎn)關(guān)系以及涉及的親戚結(jié)點(diǎn)
每個(gè)結(jié)點(diǎn)能擁有子結(jié)點(diǎn)或父結(jié)點(diǎn),依賴于與其他結(jié)點(diǎn)的關(guān)系。Node對象幾個(gè)屬性返回不同種關(guān)于子結(jié)點(diǎn)或父結(jié)點(diǎn)的信息。例如,
下面的代碼使用Children屬性返回子結(jié)點(diǎn)數(shù)量---前提,擁有子結(jié)點(diǎn):
MsgBox tvwMyTree.Nodes(10).Children
盡管,一些屬性不返回信息,作為子結(jié)點(diǎn)的屬性,但是替代返回一個(gè)涉及其他的Node對象。例如,父結(jié)點(diǎn)屬性返回父結(jié)點(diǎn)的任何
特定結(jié)點(diǎn)(只要這結(jié)點(diǎn)不是一個(gè)根結(jié)點(diǎn))。由于這種涉及,你可以使用父結(jié)點(diǎn)調(diào)用任何方法或者設(shè)置屬性,并應(yīng)用到Node對象。
例如,下面的代碼返回一個(gè)父結(jié)點(diǎn)的文本信息和引索屬性。
MsgBox tvwMyTree.Nodes(10).Parent.Text
MsgBox tvmMyTree.Nodes(10).Parent.Index
提示: 使用set聲明一個(gè)Node類型的對象變量使用涉及到其他的Node對象。例如,下面的代碼設(shè)置一個(gè)Node對象變量涉及返回父結(jié)點(diǎn)
屬性。接下來使用對象變量返回關(guān)系結(jié)點(diǎn)屬性:
Dim tempNode As Node
Set tempNode=tvwMyTree.Nodes(10).Parent
MsgBox tempNode.Text '如果將KEY值設(shè)置成text相同的話,則在add(tvwMyTree.Nodes(X).Parent.Text,tvwchiilren,"","",3)
MsgBox tempNode.Index
添加Node對象到Nodes搜索集
添加Node到樹,使用add方法。這個(gè)方法包含2個(gè)參數(shù),relative和relationship,其決定在哪里添加結(jié)點(diǎn)。第一個(gè)參數(shù)relative
命名結(jié)點(diǎn);第二個(gè)參數(shù)relationship指定新結(jié)點(diǎn)和結(jié)點(diǎn)(relative)的關(guān)系。
例如,下面的代碼添加一個(gè)結(jié)點(diǎn)”11 node“作為結(jié)點(diǎn)”7 node“的一個(gè)子結(jié)點(diǎn)。常數(shù)tvwChild指定新結(jié)點(diǎn)是一個(gè)子結(jié)點(diǎn)。
第三個(gè)參數(shù)賦值關(guān)鍵屬性到新結(jié)點(diǎn)。
tvwMyTree.Nodes.Add "7 node",tvwChild,"11 node"
提示:使用set聲明使用add方法使的調(diào)試你的代碼更簡單
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。