版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、PB TreeView 屬性,事件詳解TreeView控件可以以樹型方式來組織項目,不僅顯示直觀、界面友好,而且項目的管理和操作更為方便,是當(dāng)前比較流行的一個控件。該控件的特點是在較小的空間可以分層次顯示大量的數(shù)據(jù),并且可以按照用戶的要求檢索數(shù)據(jù)。該控件具有以下功能:通過可以展開或者折疊的節(jié)點遍歷數(shù)據(jù)。圖形化和文本化的節(jié)點顯示。拖放操作。包括剪切、復(fù)制和粘貼的節(jié)點操作。典型編程通常TreeView控件用來讓用戶選擇數(shù)據(jù),或者進行數(shù)據(jù)的管理。比如,在一個人事管理軟件中,使用部門、姓和名這樣的三層結(jié)構(gòu)查找數(shù)據(jù)就比較容易,而且可以通過拖拉來進行人事單位的變動。首先,在窗口打開時創(chuàng)建該控件。下面的腳本
2、向TreeView控件中首先添加最高級別的項目:TreeViewItem ltvi_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_it
3、em.PictureIndex = 2Tv_1.InsertItemLast(0,ltvi_item)上面的腳本添加所有一級項目,可以反復(fù)使用上面的腳本,直到添加完所有的一級項目。因為這些一級項目在程序運行之前就可以確定,所以可以直接添加。對于數(shù)據(jù)可能要發(fā)生變動的,應(yīng)該從數(shù)據(jù)庫中提取數(shù)據(jù),通過循環(huán)來添加項目。下面的腳本在用戶開始拖動時判斷選中項目是否允許拖動。在部門、姓和名三層結(jié)構(gòu)中,只允許拖動最低一層的數(shù)據(jù)。所以,在BeginDrag事件中編寫如下腳本:TreeViewItem ltvi_sourceIf ltvi_source <> 2 Then /判斷用戶選中的是否是職工,只
4、能拖動職工This.Drag(Cancel!)Else/保存被拖動項目和其父項目,語句省略End If 當(dāng)用戶在可以接收拖動數(shù)據(jù)的項目上時,應(yīng)該高亮顯示該項目,以給用戶一定的操作暗示信息。首先判斷當(dāng)前鼠標(biāo)所在的項目是否可以接收拖動的數(shù)據(jù),如果可以接收則高亮顯示該項目。在DragWithin事件中編寫如下腳本:TreeViewItem ltvi_overIf GetItem(handle,ltvi_over) = -1 ThenSetDropHightLight(0)Return 0End If當(dāng)用戶在可以接收拖動數(shù)據(jù)的項目上釋放鼠標(biāo)時,應(yīng)該對
5、項目進行一定的處理。通常要刪除源數(shù)據(jù),并且在釋放的目標(biāo)項目中添加該數(shù)據(jù)。【屬性】*TreeView屬性Visible布爾類型,表示該控件是否可見。該屬性的缺省值為True。Enabled布爾類型,表示控件是否可用。該屬性的缺省值為True。EditLabels布爾類型,表示用戶是否可以編輯控件中項目的標(biāo)簽。缺省值為False,不允許用戶編輯標(biāo)簽。HasButtons布爾類型,表示是否在父項目的左邊顯示“+”和“-”按鈕來表示是展開還是折疊狀態(tài)。該屬性的缺省值為True。HasLines布爾類型,表示在項目之間和父子項目之間是否有線相連。該屬性的缺省取值為True。LinesAtRoot布爾類型
6、,表示是否顯示連接所有根項目的線條,該屬性的缺省值為False。DeleteItems布爾類型,表示是否也許用戶在控件中使用Delete按鈕來刪除項目。該屬性的缺省取值為False。DisableDragAndDrop布爾類型,表示是否禁止用戶進行拖拉操作。該屬性的缺省值為True,不允許用戶進行拖拉操作。HideSelection布爾類型,表示當(dāng)TreeView控件失去焦點時選中的內(nèi)容是否不保持高亮顯示。該屬性缺省值為True,表示當(dāng)TreeView控件失去焦點時不高亮顯示其中的選中項目。ToolTips布爾類型,表示是否顯示工具欄氣泡幫助。該屬性的缺省取值為True。CheckBoxes布
7、爾類型,表示項目左面是否顯示復(fù)選框。缺省為False。TrackSelect布爾類型,表示項目是否進行選擇跟蹤,也就是當(dāng)該屬性取值為True,鼠標(biāo)位于某個項目之上時,這項目改變顏色并且在項目下面顯示下劃線,表示當(dāng)前項目正準(zhǔn)備接收鼠標(biāo)的操作。該屬性的缺省取值為False。FullRowSelect布爾類型,表示當(dāng)選中項目時是否整行顯示。該屬性的缺省值為False。SingleExpand布爾類型,表示是否只有一個項目可以展開。當(dāng)該屬性取值為True時,當(dāng)前選中的項目展開,前面選中的項目自動折疊;當(dāng)該屬性取值為False時,可以有多個項目同時處于展開狀態(tài)。該屬性的缺省取值為False。Border
8、布爾類型,表示該控件是否顯示邊框。該屬性的缺省取值為True。該屬性選中時,邊框顯示的樣式還取決于BorderStyle屬性的取值。BorderStyle枚舉類型,表示邊框的顯示樣式。該屬性可用的取值有StyleBox!(矩形邊框),StyleLowered!(嵌入邊框),StyleRaised!(高抬邊框)和StyleShadowBox!(陰影矩形邊框)。SortType枚舉類型,該屬性用來規(guī)定控件中項目的排序規(guī)則??捎玫娜≈涤蠥scending!(按字典順序升序排列),Descending!(按字典順序降序排列),UserDefinedSort!(根據(jù)用戶在sort事件中的腳本進行排序)和
9、Unsorted!(不排序)。IndentInteger類型,表示以PowerBuilderUnit為單位的子項目的縮進數(shù)。該屬性的取值可以為負(fù)數(shù),但是這樣有可能便子項目左移出控件的邊界。缺省取值為0。AcceleratorInteger類型,取值為控件快捷鏈的ASCII碼值。該屬性保存了控件快捷鍵對應(yīng)的ASCII碼值。*TreeViewItem屬性BoldBoolean項目標(biāo)簽上的文字以粗體顯示ChildenBoolean項目是否擁有子項目,可以使用該屬性擁有子項目,以便在以后觸發(fā)ItemPopulate和ItemExpanding事件CutHighLightedBoolean確定項目是否是
10、要剪切的對象DataAny用戶想和項目關(guān)聯(lián)的數(shù)據(jù)值DropHighLightedBoolean確定項目是不是當(dāng)前要拖拉的對象ExpandedBoolean確定項目是否展開ExpandedOnceBoolean確定項目是否至少被展開過一次。當(dāng)在控件的ItemPopulate事件中添加子項目時該屬性很有用,可以用來判斷是否已經(jīng)添加了子項目HasFocusBoolean判斷項目是否獲得當(dāng)前焦點ItemHandleLong項目的句柄。一個項目的句柄是惟一的,并且不同項目的句柄也不會有重復(fù)LabelLabel項目的文本標(biāo)簽LevelInteger確定TreeView控件中的項目的層次。根層次的取值為1O
11、verlayPictureIndexInteger覆蓋圖像列表中的圖像索引號PictureIndexInteger和項目相連的圖像在圖標(biāo)列表中的索引號SelectedPictureIndexInteger當(dāng)項目選中時與項目相連的圖像在圖標(biāo)列表中的索引號SelectedBoolean確定項目是否被選中StatePictureIndexInteger項目狀態(tài)圖標(biāo)的索引號【事件】BeginDraghandle當(dāng)用戶在控件上單擊鼠標(biāo)并開始拖動時觸發(fā)該事件BeginLabelEdithandle當(dāng)文本標(biāo)簽處于編輯狀態(tài)并開始進行編輯時觸發(fā)該事件BeginRightDraghandle當(dāng)用戶在控件上單擊鼠標(biāo)
12、右鍵并開始拖動控件時觸發(fā)該事件Clickedhandle當(dāng)用戶點擊控件時觸發(fā)Constructor沒有當(dāng)控件創(chuàng)建時觸發(fā)。觸發(fā)時機應(yīng)該是包含控件的窗口打開之前DeleteItemhandle當(dāng)刪除項目時觸發(fā)Destructor沒有當(dāng)控件刪除時觸發(fā)。觸發(fā)時機應(yīng)該是在包含控件的窗口關(guān)閉時DoubleClickedhandle當(dāng)用戶雙擊控件時觸發(fā)DragDropsource ,handle當(dāng)用戶拖動一個對象到控件上并且松開鼠標(biāo)時觸發(fā)DragEntersource當(dāng)用戶拖動一個其他對象進入控件時觸發(fā)DragLeavesource當(dāng)用戶拖動一個其他對象離開控件時觸發(fā)DragWithinsource,han
13、dle當(dāng)用戶拖動一個其他對象在控件中移動時觸發(fā)EndLabelEdithandle,newtext當(dāng)用戶結(jié)束標(biāo)簽的文本編輯時觸發(fā)GetFocus 沒有控件獲得焦點時觸發(fā)。觸發(fā)該事件時控件還沒有激活Help Xpos、Ypos當(dāng)用戶點擊F1按鈕或者其他方式要獲取幫助時觸發(fā)ItemCollapsedhandle當(dāng)控件的項目折疊后觸發(fā)ItemCollapsinghandle當(dāng)控件中的項目正在折疊時觸發(fā)ItemExpandedhandle當(dāng)控件的項目展開后觸發(fā)ItemExpandinghandle當(dāng)控件的項目正在展開時觸發(fā)Ite
14、mPopulatehandle當(dāng)控件中的項目正在打開其子項目時觸發(fā)Keykey,keyflag當(dāng)用戶點擊一個按鈕時觸發(fā)LoseFocus沒有控件失去焦點時觸發(fā)。該事件觸發(fā)時控件還是可用的Otherwparm,lparm當(dāng)出現(xiàn)其他沒有映射到PB消息上的消息時觸發(fā)該事件RightClickedhandle當(dāng)用戶在控件上點擊鼠標(biāo)右鍵時觸發(fā)該事件RightDoubleClickedhandle當(dāng)用戶在控件上雙擊鼠標(biāo)右鍵時觸發(fā)該事件SelectionChangedoldhandle,newhandle某項目被選中時觸發(fā)SelectionChangingoldhandle,newhandle某項目被選中之
15、前觸發(fā)Sorthandle1,handle2當(dāng)控件被排序時每次比較都觸發(fā)該事件【函數(shù)】AddPicture向TreeView控件中添加圖標(biāo)或者位圖。該函數(shù)的語法格式為controlname.AddPicture ( picturename )。AddStatePicture向TreeView控件的狀態(tài)圖標(biāo)列表中添加指定的位圖或者圖標(biāo)。該函數(shù)的語法是controlname.AddStatePicture ( picturename )。DeleteItem將TreeView控件中指定的項目及其子項目(如果有的話)都刪除。函數(shù)的語法是treeviewname.DeleteItem ( itemha
16、ndle ),其中itemhandle保存的是項目的惟一句柄,在該控件的很多事件中都有handle這個參數(shù),可以直接使用,也可以使用其他函數(shù)首先讀取句柄。DeletePicture(s)刪除控件中指定索引號的圖片,函數(shù)格式為controlname.DeletePicture ( index )。函數(shù)controlname.DeletePictures( )用來刪除控件中所有的圖片。DeleteStatePicture(s)刪除控件中指定索引號的狀態(tài)圖標(biāo),函數(shù)的格式是controlname.DeleteStatePicture ( index )。函數(shù)controlname.DeleteStat
17、ePictures ( )用來刪除控件中所有的狀態(tài)圖標(biāo)。EditLabel該函數(shù)的語法是treeviewname.EditLabel ( itemhandle ),作用是將句柄為itemhandle的項目的標(biāo)簽置為編輯狀態(tài)。ExpandAll該函數(shù)的語法是treeviewname.ExpandAll ( itemhandle ),作用是將句柄為itemhandle的項目下的所有子項目展開。展開控件中的所有項目,可以對根級項目使用該函數(shù)。ExpandItem函數(shù)的語法是treeviewname.ExpandItem ( itemhandle ),作用是展開句柄為itemhandle的項目。該函數(shù)
18、ExpandItem僅展開指定的項目,而不像ExpandAll那樣展開指定項目的所有子項目。FindItem語法是treeviewname.FindItem(navigationcode,itemhandle),作用是查找和Itemhandle項目的相對位置為navigationcode指定模式的項目。參數(shù)navigationcode是一個枚舉型變量,可用的取值如下所示。取 值 含 義RootTreeItem! 查找第一個根級項目,如果控件中還沒有添加任何項目則返回-1NextTreeItem!
19、 查找處于同一級別的下一個項目,如果沒有下一個項目則返回-1PreviousTreeItem! 查找處于同一個級別的前一個項目,如果沒有前一個項目則返回-1ParentTreeItem! 查找父項目的句柄,如果是根項目則返回-1ChildTreeItem! 查找第一個子項目,如果項目是折疊的,則將項目置為打開狀態(tài)。 如果沒有子項目則返回-1FirstVisibleTreeItem! 查找控件中第一個可視項目,注意滾動條距頂可視項目的位置NextVisibleTreeItem! 查找下一個展開項目,
20、如果下一個展開項目在控件的 可視項目的位置PreviousVisibleTreeItem!查找前一個展開的項目CurrentTreeItem! 查找當(dāng)前選中的項目。如果當(dāng)前沒有選中的任何項目則返回-1DropHighLightTreeItem! 查找最近被設(shè)置了DropHightLighted屬性的項目靈活運用如上所列的取值,可以很輕松地遍歷TreeView中的所有項目。GetItem函數(shù)語法是treeviewname.GetItem ( itemhandle, item),作用是將句柄由參數(shù)itemhandle指定的項目的數(shù)據(jù)檢索到TreeViewItem結(jié)構(gòu)的參數(shù)item中。InsertI
21、tem函數(shù)語法是treeviewname.InsertItem(handleparent,handleafter,label, pictureindex ),作用是將標(biāo)簽為label的項目插入到控件中,插入位置在handleparent指定句柄的項目之下作為它的子項目,句柄為handleafter同級項目的后面。該函數(shù)還有另外一種語法格式是treeviewname.InsertItem ( handleparent, handleafter, item ),作用是將TreeViewitem類型的變量item指定的項目插入到控件的指定位置,另外兩個參數(shù)的含義和前面完全相同。InsertItemFirsttreeviewname.InsertItemFirst (handleparent,label,pictureindex )或者treeviewname.InsertItemFirst ( handleparent,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人房產(chǎn)抵押權(quán)抵押權(quán)轉(zhuǎn)讓合同3篇
- 2025年度個人貸款擔(dān)保轉(zhuǎn)讓合同4篇
- 2025版住宅室內(nèi)精裝修與裝飾工程施工合同5篇
- 人類的起源和發(fā)展課件2
- 出租車行業(yè)環(huán)保措施考核試卷
- 團隊建設(shè)力量培養(yǎng)項目計劃書考核試卷
- 印刷業(yè)科技創(chuàng)新與成果轉(zhuǎn)化考核試卷
- 二零二五年度藝術(shù)品交易居間代理合同樣本3篇
- 2025年創(chuàng)業(yè)創(chuàng)新貸款協(xié)議
- 2025年合作知名作者的高需求小說電子書協(xié)議
- 廣東省佛山市2025屆高三高中教學(xué)質(zhì)量檢測 (一)化學(xué)試題(含答案)
- 人教版【初中數(shù)學(xué)】知識點總結(jié)-全面+九年級上冊數(shù)學(xué)全冊教案
- 2024-2025學(xué)年人教版七年級英語上冊各單元重點句子
- 2024年九年級語文中考名著閱讀《儒林外史》考前練附答案
- 抖音麗人行業(yè)短視頻直播項目運營策劃方案
- 2024年江蘇揚州市邗城文化旅游發(fā)展有限公司招聘筆試參考題庫含答案解析
- 小學(xué)六年級數(shù)學(xué)100道題解分?jǐn)?shù)方程
- 社區(qū)獲得性肺炎護理查房內(nèi)科
- 淺談提高中學(xué)生歷史學(xué)習(xí)興趣的策略
- 項目管理實施規(guī)劃-無錫萬象城
- 浙大一院之江院區(qū)就診指南
評論
0/150
提交評論