TreeView控件應用詳解

字號:

reeView控件是在VFP的數(shù)據(jù)處理中很有用的一個ActiveX 控件,但是VFP的幫助中卻沒有相關的說明,為幫助大家對這一控件有一個詳細的了解,現(xiàn)將TreeView控件應用詳解如下:
    一、概述
    TreeView控件顯示Node對象的分層列表,每個Node對象均由一個標簽和一個可選的位圖組成。TreeView 一般用于顯示文檔標題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。創(chuàng)建了TreeView控件之后,可以通過設置屬性與調(diào)用方法對各Node對象進行操作,這些操作包括添加、刪除、對齊和其它操作??梢跃幊陶归_與折回 Node 對象來顯示或隱藏所有子節(jié)點。Collapse、Expand和NodeClick三個事件也提供編程功能。
    Node對象使用Root、Parent、Child、FirstSibling、Next、Previous和 LastSibling屬性。在代碼中可通過檢索對Node對象的引用,從而在樹上定位。也可以使用鍵盤定位。UP ARROW鍵和DOWN ARROW鍵向下循環(huán)穿過所有展開的Node對象。從左到右、從上到下地選擇Node對象。若在樹的底部,選擇便跳回樹的頂部,必要時滾動窗口。RIGHT ARROW鍵和LEFT ARROW鍵也穿過所有展開的Node對象,但是如果選擇了未展開的 Node之后再按RIGHT ARROW鍵,該Node便展開;第二次按該鍵,選擇將移向下一個Node。相反,若擴展的Node有焦點,這時再按LEFT ARROW鍵,該Node便折回。如果按下ANSI字符集中的鍵,焦點將跳轉至以那個字母開頭的最近的Node。后續(xù)的按該鍵的動作將使選擇向下循環(huán),穿過以那個字母開頭的所有展開節(jié)點。
    控件的外觀有八種可用的替換樣式,它們是文本、位圖、直線和+/-號的組合,Node 對象可以任一種組合出現(xiàn)。
    TreeView控件使用由ImageList屬性指定的ImageList控件,來存儲顯示于Node對象的位圖和圖標。任何時刻,TreeView 控件只能使用一個ImageList。這意味著,當 TreeView控件的Style屬性被設置成顯示圖象的樣式時,TreeView控件中每一項的旁邊都有一個同樣大小的圖象。
    發(fā)行注意TreeView控件是COMCTL32.OCX文件中的一組ActiveX控件的一部分。為了在應用程序中使用TreeView控件,必須將COMCTL32.OCX文件添加到工程中。在發(fā)行應用程序時,要在用戶的Microsoft Windows System或System32目錄中安裝COMCTL32.OCX文件。
    二、常用屬性
    1、Nodes屬性返回對TreeView控件的Node對象的集合的引用。
    語法:object.Nodes
    ? ject所在處代表一個對象表達式,其值是“應用于”列表中的一個對象。
    說明:可以使用標準的集合方法(例如:Add和Remove方法)操作Node對象??梢园雌渌饕虼鎯υ贙ey屬性中的鍵來訪問集合中的每個元素。
    2、Style屬性返回或設置圖形類型(圖象、文本、+/-號、直線)以及出現(xiàn)在 TreeView 控件中每一Node對象上的文本的類型。
    語法:object.Style [ = number]
    Style 語法包含下面部分:
    部分 描述
    object 對象表達式,其值是“應用于”列表中的一個對象。
    number 指定圖形類型的整數(shù),請參閱“設置值”中的描述。
    設置值
    number 的設置值是:
    設置值 描述
    0 僅為文本。
    1 圖象和文本。
    2 +/- 號和文本。
    3 +/- 號,圖象和文本。
    4 直線和文本。
    5 直線,圖象和文本。
    6 直線,+/- 號和文本。
    7 (缺?。┲本€,+/- 號,圖象和文本。
    說明:若Style屬性設置為包含直線的值,則LineStyle屬性就確定了直線的外觀。如果Style屬性設置為不含直線的值,則LineStyle屬性將被忽略。
    3、Sorted屬性返回或設置一值,此值確定Node對象的子節(jié)點是否按字母順序排列;返回或設置一值,此值確定TreeView控件的根層節(jié)點是否按字母順序排列。
    語法:object.Sorted [ = boolean]
    Sorted屬性語法包含下面部分:
    部分 描述
    object 對象表達式,其值是“應用于”列表中的一個對象。
    boolean 布爾表達式,表示 Node 對象是否已被排序如“設置值”中描述。
    boolean的設置值是:
    設置值 描述
    True Node 對象根據(jù)它們的 Text 屬性按字母順序排列。其 Text 屬性由數(shù)字開始的 Node 對象也作為字符串排序,第一個數(shù)字確定在排序中的初始位置,后面的數(shù)字確定以后的排序。
    False Node 對象不排序。
    說明:Sorted屬性有兩種用法,第一,在TreeView控件的根(頂)層排列Node對象,第二,對任何單個Node對象的立即子節(jié)點排序。
    例如,下面的代碼是對TreeView控件的根節(jié)點排序:
    TreeView1.Sorted = True 頂層Node對象被排序。