資源描述:
《PB TreeView控件常用屬性、事件和函數(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、TreeView控件可以以樹型方式來(lái)組織項(xiàng)目,不僅顯示直觀、界面友好,而且項(xiàng)目的管理和操作更為方便,是當(dāng)前比較流行的一個(gè)控件。該控件的特點(diǎn)是在較小的空間可以分層次顯示大量的數(shù)據(jù),并且可以按照用戶的要求檢索數(shù)據(jù)。該控件具有以下功能:通過(guò)可以展開或者折疊的節(jié)點(diǎn)遍歷數(shù)據(jù)。圖形化和文本化的節(jié)點(diǎn)顯示。拖放操作。包括剪切、復(fù)制和粘貼的節(jié)點(diǎn)操作?!龅湫途幊掏ǔreeView控件用來(lái)讓用戶選擇數(shù)據(jù),或者進(jìn)行數(shù)據(jù)的管理。比如,在一個(gè)人事管理軟件中,使用部門、姓和名這樣的三層結(jié)構(gòu)查找數(shù)據(jù)就比較容易,而且可以通過(guò)拖拉來(lái)進(jìn)行人事單位的變動(dòng)。首先,在窗口打開時(shí)創(chuàng)建該控件。下面的腳本向TreeView控件中首先添加最高
2、級(jí)別的項(xiàng)目:TreeViewItemltvi_itemltvi_item.children=Trueltvi_item.SelectedPictureIndex=1ltvi_item.Label="餐飲部"ltvi_item.Data="餐飲部"ltvi_item.PictureIndex=1Tv_1.InsertItemLast(0,ltvi_item)ltvi_item.Label="接待部"ltvi_item.Date="接待部"ltvi_item.PictureIndex=2Tv_1.InsertItemLast(0,ltvi_item)上面的腳本添加所有一級(jí)項(xiàng)目,可以反復(fù)使用上面的腳
3、本,直到添加完所有的一級(jí)項(xiàng)目。因?yàn)檫@些一級(jí)項(xiàng)目在程序運(yùn)行之前就可以確定,所以可以直接添加。對(duì)于數(shù)據(jù)可能要發(fā)生變動(dòng)的,應(yīng)該從數(shù)據(jù)庫(kù)中提取數(shù)據(jù),通過(guò)循環(huán)來(lái)添加項(xiàng)目。下面的腳本在用戶開始拖動(dòng)時(shí)判斷選中項(xiàng)目是否允許拖動(dòng)。在部門、姓和名三層結(jié)構(gòu)中,只允許拖動(dòng)最低一層的數(shù)據(jù)。所以,在BeginDrag事件中編寫如下腳本:TreeViewItemltvi_sourceIfltvi_source<>2Then//判斷用戶選中的是否是職工,只能拖動(dòng)職工This.Drag(Cancel!)Else//保存被拖動(dòng)項(xiàng)目和其父項(xiàng)目,語(yǔ)句省略EndIf????當(dāng)用戶在可以接收拖動(dòng)數(shù)據(jù)的項(xiàng)目上時(shí),應(yīng)該高亮顯示該項(xiàng)目,以給用
4、戶一定的操作暗示信息。首先判斷當(dāng)前鼠標(biāo)所在的項(xiàng)目是否可以接收拖動(dòng)的數(shù)據(jù),如果可以接收則高亮顯示該項(xiàng)目。在DragWithin事件中編寫如下腳本:TreeViewItemltvi_overIfGetItem(handle,ltvi_over)=-1ThenSetDropHightLight(0)Return0EndIf當(dāng)用戶在可以接收拖動(dòng)數(shù)據(jù)的項(xiàng)目上釋放鼠標(biāo)時(shí),應(yīng)該對(duì)項(xiàng)目進(jìn)行一定的處理。通常要?jiǎng)h除源數(shù)據(jù),并且在釋放的目標(biāo)項(xiàng)目中添加該數(shù)據(jù)。【屬性】**TreeView屬性▲Visible布爾類型,表示該控件是否可見。該屬性的缺省值為True。▲Enabled布爾類型,表示控件是否可用。該屬性的缺省
5、值為True?!鳨ditLabels布爾類型,表示用戶是否可以編輯控件中項(xiàng)目的標(biāo)簽。缺省值為False,不允許用戶編輯標(biāo)簽。▲HasButtons布爾類型,表示是否在父項(xiàng)目的左邊顯示“+”和“-”按鈕來(lái)表示是展開還是折疊狀態(tài)。該屬性的缺省值為True?!鳫asLines布爾類型,表示在項(xiàng)目之間和父子項(xiàng)目之間是否有線相連。該屬性的缺省取值為True?!鳯inesAtRoot布爾類型,表示是否顯示連接所有根項(xiàng)目的線條,該屬性的缺省值為False?!鳧eleteItems布爾類型,表示是否也許用戶在控件中使用Delete按鈕來(lái)刪除項(xiàng)目。該屬性的缺省取值為False?!鳧isableDragAndDr
6、op布爾類型,表示是否禁止用戶進(jìn)行拖拉操作。該屬性的缺省值為True,不允許用戶進(jìn)行拖拉操作。▲HideSelection布爾類型,表示當(dāng)TreeView控件失去焦點(diǎn)時(shí)選中的內(nèi)容是否不保持高亮顯示。該屬性缺省值為True,表示當(dāng)TreeView控件失去焦點(diǎn)時(shí)不高亮顯示其中的選中項(xiàng)目。▲ToolTips布爾類型,表示是否顯示工具欄氣泡幫助。該屬性的缺省取值為True?!鳦heckBoxes布爾類型,表示項(xiàng)目左面是否顯示復(fù)選框。缺省為False?!鳷rackSelect布爾類型,表示項(xiàng)目是否進(jìn)行選擇跟蹤,也就是當(dāng)該屬性取值為True,鼠標(biāo)位于某個(gè)項(xiàng)目之上時(shí),這項(xiàng)目改變顏色并且在項(xiàng)目下面顯示下劃線,
7、表示當(dāng)前項(xiàng)目正準(zhǔn)備接收鼠標(biāo)的操作。該屬性的缺省取值為False?!鳩ullRowSelect布爾類型,表示當(dāng)選中項(xiàng)目時(shí)是否整行顯示。該屬性的缺省值為False?!鳶ingleExpand布爾類型,表示是否只有一個(gè)項(xiàng)目可以展開。當(dāng)該屬性取值為True時(shí),當(dāng)前選中的項(xiàng)目展開,前面選中的項(xiàng)目自動(dòng)折疊;當(dāng)該屬性取值為False時(shí),可以有多個(gè)項(xiàng)目同時(shí)處于展開狀態(tài)。該屬性的缺省取值為False?!鳥order