treeview控件用于顯示分級的數(shù)據(jù),列如組織樹,磁盤上的文件和目錄。
圖例 2.40 典型的TreeView 可能用法: .創(chuàng)建一個能被用戶使用的組織樹
.創(chuàng)建一個顯示二級或更多數(shù)據(jù)的樹
設(shè)置Node對象屬性 一個”tree“由許多層疊樹叉的“nodes”組成,每個結(jié)點由圖片(設(shè)置圖片屬性)和一個標(biāo)簽(設(shè)置文本屬性)代表構(gòu)成。 提供給結(jié)點的圖片由聯(lián)結(jié)到TreeView控件的ImageList控件提供。 一個結(jié)點可以展開或收縮,依賴于此結(jié)點是否有子結(jié)點。在最頂端層是”root“結(jié)點,并且每個根結(jié)點有一定數(shù)量的子結(jié)點。 結(jié)點的總數(shù)不受限制(除非機器約束)。圖例2.41顯示一個樹以及2個根結(jié)點;”root1“有3個子結(jié)點,”child3“有一個它 自己的子結(jié)點。”root2“有子結(jié)點,并且通過”+“預(yù)示,但是沒有展開。 圖例2.41 Root and child nodes 樹里的每個結(jié)點實際是一個可編程的Node對象---屬于Nodes 搜索集。在其他的搜索集,這里每個成員有一個唯一的引索和 關(guān)鍵屬性,他們允許你存取結(jié)點的屬性。例如,下面的結(jié)點用特定的引索node("7")設(shè)置圖片和文本屬性: tvwMyTree.Nodes(7).Image="closed" tvwMyTree.Nodes(7).Text="ieee" 無論如何,如果一個唯一的關(guān)鍵,例如”7 ID“被賦值于結(jié)點,代碼書寫如下: tvwMyTree.Nodes("7 ID").Image="closed" tvwMyTree.Nodes("7 ID").Text="ieee" 結(jié)點關(guān)系以及涉及的親戚結(jié)點 每個結(jié)點能擁有子結(jié)點或父結(jié)點,依賴于與其他結(jié)點的關(guān)系。Node對象幾個屬性返回不同種關(guān)于子結(jié)點或父結(jié)點的信息。例如, 下面的代碼使用Children屬性返回子結(jié)點數(shù)量---前提,擁有子結(jié)點: MsgBox tvwMyTree.Nodes(10).Children 盡管,一些屬性不返回信息,作為子結(jié)點的屬性,但是替代返回一個涉及其他的Node對象。例如,父結(jié)點屬性返回父結(jié)點的任何 特定結(jié)點(只要這結(jié)點不是一個根結(jié)點)。由于這種涉及,你可以使用父結(jié)點調(diào)用任何方法或者設(shè)置屬性,并應(yīng)用到Node對象。 例如,下面的代碼返回一個父結(jié)點的文本信息和引索屬性。 MsgBox tvwMyTree.Nodes(10).Parent.Text MsgBox tvmMyTree.Nodes(10).Parent.Index 提示: 使用set聲明一個Node類型的對象變量使用涉及到其他的Node對象。例如,下面的代碼設(shè)置一個Node對象變量涉及返回父結(jié)點 屬性。接下來使用對象變量返回關(guān)系結(jié)點屬性: 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方法。這個方法包含2個參數(shù),relative和relationship,其決定在哪里添加結(jié)點。第一個參數(shù)relative 命名結(jié)點;第二個參數(shù)relationship指定新結(jié)點和結(jié)點(relative)的關(guān)系。 例如,下面的代碼添加一個結(jié)點”11 node“作為結(jié)點”7 node“的一個子結(jié)點。常數(shù)tvwChild指定新結(jié)點是一個子結(jié)點。 第三個參數(shù)賦值關(guān)鍵屬性到新結(jié)點。 tvwMyTree.Nodes.Add "7 node",tvwChild,"11 node" 提示:使用set聲明使用add方法使的調(diào)試你的代碼更簡單 |
|