treeview控件用于顯示分級(jí)的數(shù)據(jù),列如組織樹(shù),磁盤(pán)上的文件和目錄。
圖例 2.40 典型的TreeView 可能用法: .創(chuàng)建一個(gè)能被用戶使用的組織樹(shù)
.創(chuàng)建一個(gè)顯示二級(jí)或更多數(shù)據(jù)的樹(shù)
設(shè)置Node對(duì)象屬性 一個(gè)”tree“由許多層疊樹(shù)叉的“nodes”組成,每個(gè)結(jié)點(diǎn)由圖片(設(shè)置圖片屬性)和一個(gè)標(biāo)簽(設(shè)置文本屬性)代表構(gòu)成。 提供給結(jié)點(diǎn)的圖片由聯(lián)結(jié)到TreeView控件的ImageList控件提供。 一個(gè)結(jié)點(diǎn)可以展開(kāi)或收縮,依賴于此結(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è)樹(shù)以及2個(gè)根結(jié)點(diǎn);”root1“有3個(gè)子結(jié)點(diǎn),”child3“有一個(gè)它 自己的子結(jié)點(diǎn)。”root2“有子結(jié)點(diǎn),并且通過(guò)”+“預(yù)示,但是沒(méi)有展開(kāi)。 圖例2.41 Root and child nodes 樹(shù)里的每個(gè)結(jié)點(diǎn)實(shí)際是一個(gè)可編程的Node對(duì)象---屬于Nodes 搜索集。在其他的搜索集,這里每個(gè)成員有一個(gè)唯一的引索和 關(guān)鍵屬性,他們?cè)试S你存取結(jié)點(diǎn)的屬性。例如,下面的結(jié)點(diǎn)用特定的引索node("7")設(shè)置圖片和文本屬性: tvwMyTree.Nodes(7).Image="closed" tvwMyTree.Nodes(7).Text="ieee" 無(wú)論如何,如果一個(gè)唯一的關(guān)鍵,例如”7 ID“被賦值于結(jié)點(diǎn),代碼書(shū)寫(xiě)如下: 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對(duì)象幾個(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對(duì)象。例如,父結(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對(duì)象。 例如,下面的代碼返回一個(gè)父結(jié)點(diǎn)的文本信息和引索屬性。 MsgBox tvwMyTree.Nodes(10).Parent.Text MsgBox tvmMyTree.Nodes(10).Parent.Index 提示: 使用set聲明一個(gè)Node類(lèi)型的對(duì)象變量使用涉及到其他的Node對(duì)象。例如,下面的代碼設(shè)置一個(gè)Node對(duì)象變量涉及返回父結(jié)點(diǎn) 屬性。接下來(lái)使用對(duì)象變量返回關(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對(duì)象到Nodes搜索集 添加Node到樹(shù),使用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)試你的代碼更簡(jiǎn)單 |
|
|