三小時掌握TREEVIEW控件 能不能掌握控件的使用,是業(yè)余向準專業(yè)進步的關(guān)鍵。雖然我本人不太喜歡用控件,因為基于不同的操作環(huán)境成品后效果很難保證。但有些成熟控件,會使用還是能提高軟件水平。比如TREEVIEW控件,TREEVIEW控件,也叫樹控件,主要用于層級顯示和控制,應(yīng)用廣泛。我一直很想學習這個控件的使用,但每次都沒有學成,總感覺很難。前幾天有空,狠下心來將論壇搜索一遍,發(fā)現(xiàn)也不是太難,在很短時間內(nèi)只要方法得當,很快可以掌握,因為我是菜鳥,所以用菜鳥的方法和大家交流,可能大家學得更快一點,只要你用心,三個小時一定可以掌握。請大家一定要自己動手做,只有做才能理解,光看幫助和說明是沒有用的。 熱身: 理解層級概念,層級理論上可以有無限級,一般用到四,五級也夠用了。最上級的只能有一個,我們把它叫做“爺”,接下來是“父”,再是“子”,再是“孫”,接下來是“曾孫”......,匯總?cè)缦拢?#8220;爺,父,子,孫,曾孫”,這里是5級關(guān)系,除了“爺”只能有一個外,其余可以有無限個。記住這些,下面要用。
第一小時:學習直接用代碼將數(shù)據(jù)填充到樹控件中。 為什么要先學習直接用代碼將數(shù)據(jù)填充到樹控件中?因為這種方法是最簡單的,代碼也最容易理解,學習樹控件,先將這個學會,已經(jīng)掌握了一半,所以先不要急著想怎么將表中的數(shù)據(jù)填充到樹控件中,在第一小時里,樹控件和表完全沒有關(guān)系。 目的:我們要在樹控件中建立如下的一個3層級關(guān)系 水果 | |__蘋果 | |__紅富士 | |__國光 | |__葡萄 |__紅提子 |__青提子 解釋:水果包含2種,一種是蘋果,一種是葡萄,蘋果又包含2種,一種是紅富士,一種是國光,葡萄也如此。 在這里:“爺”是水果,“父”是蘋果,葡萄,“子”是紅富士,國光,紅提子,青提子。概括如下: 爺(只能有一個):水果 父(這里有2個):父1:蘋果;父2:葡萄 子(這里有4個):子1:紅富士(父1蘋果的子);子2:國光(父1蘋果的子);子3:紅提子(父2葡萄的子);子4:青提子(父2葡萄的子) 1、新建一個窗體,在窗體上放置兩個控件,一個是Treeview,一個是Imagelist 如何找到這兩個控件? Treeview控件在“工具箱”的榔頭加扳手圖標(其他控件)中選“Microsoft Treeview Control,Version 6.0" Imagelist控件在“工具箱”的榔頭加扳手圖標(其他控件)中選“Microsoft Imagelist Control,Version 6.0" Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢?原來這個控件是放圖標用的,如果你想在樹控件中顯示圖標的,這個圖標都將儲存在ImageList控件中。 2、設(shè)置這兩個控件的屬性 首先要講清楚控件的屬性設(shè)置有2種,一種是設(shè)置這個控件在ACCESS中的屬性,比如名稱等。一種是設(shè)置這個控件本身的屬性。要設(shè)置這個控件在ACCESS中的屬性,選中控件后按鼠標右鍵選“屬性”就可以了。跟我們平時設(shè)置文本框什么的一樣。要設(shè)置這個控件本身的屬性,只要雙擊這個控件就可以了。 1)設(shè)置Treeview控件在ACCESS中的名稱屬性,將名稱設(shè)置為“Treeview" 2)設(shè)置Imagelist控件在ACCESS中的名稱屬性,將名稱設(shè)置為“Image" 2)設(shè)置Imagelist控件本身的屬性,雙擊控件后,在彈出來的設(shè)置框中選“Images",單擊“Insert Picture"按鈕,在你電腦中選擇你需要的圖標。在“Key:”欄中填入“K1”。其他默認設(shè)置不用改。 3)設(shè)置Treeview控件本身的屬性,雙擊控件后,在彈出來的設(shè)置框中選“General”,在這個選項面版中有很多項設(shè)置,大多數(shù)是設(shè)置樹控件的顯示格式,你自己慢慢研究。這里我們將第一項“Style"選7,在第五項“Imagelist"選項中將我們放置的Imagelist控件“Image"選上。這項設(shè)置就將圖標和樹控件聯(lián)系了起來。 3、寫代碼將數(shù)據(jù)填充到樹控件中 代碼寫在哪里?我們希望窗體一打開,數(shù)據(jù)就自動填充在樹控件中,所以這個代碼就寫在窗體的加載事件中,代碼及解釋如下: Private Sub Form_Load() '* ----------------------------------------------------------------- '*用代碼將數(shù)據(jù)填充到樹控件中 '* ----------------------------------------------------------------- Dim Nodeindex As Node '*------------------------------------------------------------------ '*解釋:定義Node '*Node是樹控件的對象 '*每個Node都有三個東西,圖標,文本,索引值 '*圖標和文本都是實際顯示出來的,索引值是隱含的 '*------------------------------------------------------------------ '設(shè)置最頂級的“爺”: '* --------------------------- Set Nodeindex = TreeView.Nodes.Add(, , "爺", "水果", "K1") Nodeindex.Sorted = True '*------------------------------------------------------------------ '*樹控件填充數(shù)據(jù)的方法是Nodes.Add '*括號內(nèi)是Add方法的參數(shù) '*在這里“爺”是索引值,“水果”是將顯示的文本,“K1”是圖標的索引值 '*Sorted是指Node的排序,True就是指采用排序,默認是按拼音 '*第一,二個參數(shù)是空的 '*具體的參數(shù)設(shè)置以后你可以慢慢詳細研究 '*------------------------------------------------------------------ '設(shè)置第二級“父” '* --------------------------- Set Nodeindex = TreeView.Nodes.Add("爺", tvwChild, "父1", "蘋果", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("爺", tvwChild, "父2", "葡萄", "K1") Nodeindex.Sorted = True '*------------------------------------------------------------------ '*第一個參數(shù)“爺”是指這一層對應(yīng)上層“爺”的 '*tvwChild參數(shù)是規(guī)定格式,指相對來說,這一層是爺?shù)淖訉?br>'*“父1”是索引值,因為“父”有2個,而索引值是唯一的,所以要編號,用“父1”“父2”分開 '*“蘋果”“葡萄”是要顯示的文本,K1是顯示圖標的索引值 '*現(xiàn)在知道為什么在“爺”層設(shè)置時,第一,第二個參數(shù)是空的,因為這是最頂層 '*------------------------------------------------------------------ '設(shè)置第三級“子” '* --------------------------- Set Nodeindex = TreeView.Nodes.Add("父1", tvwChild, "子1", "紅富士", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("父1", tvwChild, "子2", "國光", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("父2", tvwChild, "子3", "紅提子", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("父2", tvwChild, "子4", "青提子", "K1") Nodeindex.Sorted = True '*------------------------------------------------------------------ '*第一個參數(shù)“父1,2”是指這一層對應(yīng)上層“父”的,但要注意對應(yīng)的是“父1”還是“父2” '*tvwChild參數(shù)是規(guī)定格式,指相對來說,這一層是父的子層 '*“子1”是索引值,因為“子”有4個,而索引值是唯一的,所以要編號,用“1,2,3,4”分開 '*“紅富士”等是要顯示的文本,K1是顯示圖標的索引值 '*------------------------------------------------------------------ End Sub
就這么多代碼,總共十幾行,就可以在樹控件中顯示數(shù)據(jù)了,很簡單吧。第一小時結(jié)束。 第二小時:學習怎樣將樹控件和數(shù)據(jù)庫中的數(shù)據(jù)綁起來
目的:將數(shù)據(jù)庫中的數(shù)據(jù)與樹控件綁定
1、新建一個窗體,在窗體上放置兩個控件,一個是Treeview,一個是Imagelist
Private Sub Form_Load()
'設(shè)置第三級"子"
'設(shè)置第四級"孫"
End Sub
第二小時結(jié)束 第三小時:將樹控件與窗體結(jié)合
目的:將樹控件與窗體結(jié)合
Private Sub Treeview_NodeClick(ByVal Node As Object)
明白了吧,所謂結(jié)合窗體,實際不過是進行窗體篩選而已。第三小時結(jié)束(5分鐘也夠了,哈哈) |