TreeView由節(jié)點構(gòu)成,建樹通過對TreeView.items屬性進行操作。Items是一個TTreeNodes對象,這是一個TTreeNode集。通過它能夠方便地管理和顯示具有層次結(jié)構(gòu)的信息,是Windows應(yīng)用程序的基本控件之一。DELPHI雖然具有比較強大的文件管理功能,提供了多個用于文件管理的標準控件,如DriveComboBox、DirectoryListBox、FileListBox等,通過設(shè)置它們的屬性,使其建立起聯(lián)系,甚至不用編寫一行程序,我們就可以實現(xiàn)在不同的目錄之間進行切換,然而這樣的目錄切換只適用于進行文件的查找定位,而不能方便地進行目錄的瀏覽,例如我們要從c:\windows目錄轉(zhuǎn)到c:\program files目錄,就必須返回到根目錄才能進行切換,而不能象Windows資源管理器那樣任意地在不同的目錄之間進行瀏覽與切換。
Delphi TreeView怎么用
Delphi TreeView使用方法
一、針對TTreeNodes,也就是 TreeView.Items,有這些屬性:
1、count,節(jié)點個數(shù)。
2、item[index] ,通過index得到節(jié)點。
二、針對TTreeNodes,也就是 TreeView.Items,常用的添加節(jié)點的操作有:
AddFirst添加第一個根節(jié)點。由此函數(shù)添加的節(jié)點總排在前面,除非后來又使用此函數(shù)添加了一個節(jié)點,則后添加的節(jié)點將排在前面。該函數(shù)返回新添加的節(jié)點。
AddChildFirst添加第一個子節(jié)點,要求有父節(jié)點作為其參數(shù)。返回新添加的節(jié)點。
AddChild添加一個子節(jié)點,要求有父節(jié)點作為其參數(shù)。返回新添加的節(jié)點。
Add添加一個兄弟節(jié)點,要求有兄弟節(jié)點作為其參數(shù)。返回新添加的節(jié)點。
三、針對TTreeNodes,也就是 TreeView.Items,常用的得到節(jié)點的操作有:
GetFirstNode() 得到根節(jié)點。然后配合TTreeNode.GetNext(),就可以訪問所有的節(jié)點。
四、建樹舉例:
var
root_node,cur_node:TTreeNode;
begin
root_node:=AddFirst(nil,根節(jié)點1);
cur_node:=addChildfirst(root_node,nil,根節(jié)點1_child1);
add(cur_node,根節(jié)點1_child2);
root_node:=Add(nil,根節(jié)點2);
AddChildFirst(root_node,根節(jié)點2_child1);
end;
五、事件觸發(fā):
當從一個節(jié)點跳到另一個節(jié)點,會觸發(fā)TTreeView.OnChange事件。該事件中,將傳遞node,即當前被選中的節(jié)點。
當修改一個節(jié)點的text時,會觸發(fā)TTreeView.onEdit事件。
六、將節(jié)點和節(jié)點所對應(yīng)的數(shù)據(jù)聯(lián)系起來
對于每個TTreeNode,有個Data屬性,可以存放一個指針。我們可以利用這個域來存放與節(jié)點對應(yīng)的自己的數(shù)據(jù)。
1.我們先定義一個數(shù)據(jù)結(jié)構(gòu),作為記錄我們要記錄的數(shù)據(jù)。如:
type PMyData=^TMyData;
TMyData=Record
sFName:string;
sLName:String;
nIndex:integer;
end;
2.然后,創(chuàng)建數(shù)時,將節(jié)點和節(jié)點數(shù)據(jù)聯(lián)系起來:
procedure TForm1.Button1Click(Sender: TObject);
var
myshuju: PMyData
cur_node:TTreeNode;
begin
New(myshuju); //記住,一定要先分配內(nèi)存。有幾個節(jié)點,就要分配幾次內(nèi)存。
myshuju^.FName:=Edit1.Text;
Myshuju^.LName := Edit2.Text;
TreeViewIndex := StrToInt(Edit3.Text);
with TreeView1 do
begin
cur_node:=items.AddFirst(nil,first);
cur_node.data:=myshuju;
end;
end;
3.當我們選中一個節(jié)點時,就可以使用我們的數(shù)據(jù)了。
procedure TForm1.TreeView1Change(Sender:TObject;Node:TTreeNode);
begin
if node.data<>nil then
self.label1.caption:=pmyData(node.data)^.Fname+pmyData(node.data)^.Lname
end;
4.內(nèi)存釋放
procedure TForm1.ListView1Deletion(Sender: TObject; Item: TListItem);
begin
Dispose(Item.Data);
end;
七、一般使用流程:
1、添加全局變量:
b_first:boolean; //記錄是否是第一次訪問節(jié)點,因為此時數(shù)據(jù)還未準備好,而一旦訪問節(jié)點就會觸發(fā)OnChange事件,在此事件處理函數(shù)中也許會出錯。
2、在FormCreate中,
a、設(shè)置b_first:=true;
b. 創(chuàng)建數(shù)并將節(jié)點與數(shù)據(jù)聯(lián)系。
3、在FormShow中設(shè)置b_first:=false;
4.在事件OnChange中處理節(jié)點被選中事件。
5.在Edit中處理節(jié)點被修改Text事件。并調(diào)用OnChange.
6.在 TreeView.Destory中 釋放Data 中指向的內(nèi)存空間。













delphi7(Borland Delphi 7 企業(yè)版)7.0 Build 8.1 中文注冊安裝版(附序列號)
delphi2009(RAD Studio 2009)12.0.3170.16989 破解安裝完美版
delphi2007(RAD Studio 2007)11.0.2902.10471 官方版+破解補丁
Borland Delphi 8.0 光盤版(單純的for .NET版本)
delphi 2007 for phpV2.0英文特別版
Delphi5安裝版(Borland Delphi Enterprise 5)【附序列號+安裝教程】
Delphi組件開發(fā)者指南( Delphi組件編寫者指南)pdf格式(中文版/帶書簽)

Apifox(Api調(diào)試管理工具)2.1.29.1 綠色版
小烏龜代碼管理工具(TortoiseGit)2.13.0.1 中文免費版
SoapUI破解版5.7.0 最新版
小皮面板(phpstudy)8.1.1.3 官方最新版
Ruby3.0(ruby運行環(huán)境)3.0.2 官方版
gcc編譯器( MinGW-w64 9.0.0綠色版)免費下載
寶玉編輯助手0.0.05新版
火花編程軟件2.7.2 官方pc版
猿編程少兒班客戶端3.1.1 官方版
Restorator 2009中文版單文件漢化版
十六進制閱讀小工具
IT碼農(nóng)工具軟件1.0 中文免費版
Postman Canary(網(wǎng)頁調(diào)試軟件)官方版7.32.0綠色免費版
大耳猴少兒編程客戶端1.1.2 官方免費版
excel批量sql語句(通過excel構(gòu)建sql工具)1.0 免費版
軟件添加彈窗和網(wǎng)址工具1.0 中文免費版
天霸編程助手2.1 單文件中文版
ida pro 中文破解版(反編譯工具)7.0 永樂漢化版64位
VBA代碼助手3.3.3.1官方版
JDK 12 linux版for 64位
Samba(完全支持Python 3)4.10 官方最新版
猿編程電腦端3.9.1.347 官方PC版
蒲公英 Android SDKV4.1.11 官方最新版
蒲公英iOS SDK2.8.9.1 官方最新版
WxPython中文可視化編輯器1.2 簡體中文免費版
Python代碼生成器1.0 中文免費版
C語言代碼實例助手1.0 免費版
notepad++7.8.2 中文免費版




系統(tǒng)自帶的命令行幫助文件(ntcmds.chm)chm格
Excel轉(zhuǎn)換XML工具1.0 免費版
實體類SQL生成工具1.0 綠色免費版
XML字符串解析工具2.0.3 免費版
VC++Spelly(代碼拼寫檢查)3.0.1 官方最新版
易語言vc6迷你連接器【dos命令形式運行】綠
Elastix 20163.0 免費版
sql語法分析器(sql語法分析工具)3.1.0 綠色
dev c++下載(DEV-C++)5.9.2 多語安裝免費版
vc字體設(shè)置工具(vc6字體設(shè)置工具)1.0 中文綠