




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PB TreeView 屬性,事件詳解TreeView控件可以以樹型方式來組織項(xiàng)目,不僅顯示直觀、界面友好,而且項(xiàng)目的管理和操作更為方便,是當(dāng)前比較流行的一個(gè)控件。該控件的特點(diǎn)是在較小的空間可以分層次顯示大量的數(shù)據(jù),并且可以按照用戶的要求檢索數(shù)據(jù)。該控件具有以下功能:通過可以展開或者折疊的節(jié)點(diǎn)遍歷數(shù)據(jù)。圖形化和文本化的節(jié)點(diǎn)顯示。拖放操作。包括剪切、復(fù)制和粘貼的節(jié)點(diǎn)操作。典型編程通常TreeView控件用來讓用戶選擇數(shù)據(jù),或者進(jìn)行數(shù)據(jù)的管理。比如,在一個(gè)人事管理軟件中,使用部門、姓和名這樣的三層結(jié)構(gòu)查找數(shù)據(jù)就比較容易,而且可以通過拖拉來進(jìn)行人事單位的變動。首先,在窗口打開時(shí)創(chuàng)建該控件。下面的腳本
2、向TreeView控件中首先添加最高級別的項(xiàng)目: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)上面的腳本添加所有一級項(xiàng)目,可以反復(fù)使用上面的腳本,直到添加完所有的一級項(xiàng)目。因?yàn)檫@些一級項(xiàng)目在程序運(yùn)行之前就可以確定,所以可以直接添加。對于數(shù)據(jù)可能要發(fā)生變動的,應(yīng)該從數(shù)據(jù)庫中提取數(shù)據(jù),通過循環(huán)來添加項(xiàng)目。下面的腳本在用戶開始拖動時(shí)判斷選中項(xiàng)目是否允許拖動。在部門、姓和名三層結(jié)構(gòu)中,只允許拖動最低一層的數(shù)據(jù)。所以,在BeginDrag事件中編寫如下腳本:TreeViewItem ltvi_sourceIf ltvi_source <> 2 Then /判斷用戶選中的是否是職工,只
4、能拖動職工This.Drag(Cancel!)Else/保存被拖動項(xiàng)目和其父項(xiàng)目,語句省略End If 當(dāng)用戶在可以接收拖動數(shù)據(jù)的項(xiàng)目上時(shí),應(yīng)該高亮顯示該項(xiàng)目,以給用戶一定的操作暗示信息。首先判斷當(dāng)前鼠標(biāo)所在的項(xiàng)目是否可以接收拖動的數(shù)據(jù),如果可以接收則高亮顯示該項(xiàng)目。在DragWithin事件中編寫如下腳本:TreeViewItem ltvi_overIf GetItem(handle,ltvi_over) = -1 ThenSetDropHightLight(0)Return 0End If當(dāng)用戶在可以接收拖動數(shù)據(jù)的項(xiàng)目上釋放鼠標(biāo)時(shí),應(yīng)該對
5、項(xiàng)目進(jìn)行一定的處理。通常要?jiǎng)h除源數(shù)據(jù),并且在釋放的目標(biāo)項(xiàng)目中添加該數(shù)據(jù)?!緦傩浴?TreeView屬性Visible布爾類型,表示該控件是否可見。該屬性的缺省值為True。Enabled布爾類型,表示控件是否可用。該屬性的缺省值為True。EditLabels布爾類型,表示用戶是否可以編輯控件中項(xiàng)目的標(biāo)簽。缺省值為False,不允許用戶編輯標(biāo)簽。HasButtons布爾類型,表示是否在父項(xiàng)目的左邊顯示“+”和“-”按鈕來表示是展開還是折疊狀態(tài)。該屬性的缺省值為True。HasLines布爾類型,表示在項(xiàng)目之間和父子項(xiàng)目之間是否有線相連。該屬性的缺省取值為True。LinesAtRoot布爾類型
6、,表示是否顯示連接所有根項(xiàng)目的線條,該屬性的缺省值為False。DeleteItems布爾類型,表示是否也許用戶在控件中使用Delete按鈕來刪除項(xiàng)目。該屬性的缺省取值為False。DisableDragAndDrop布爾類型,表示是否禁止用戶進(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。CheckBoxes布
7、爾類型,表示項(xiàng)目左面是否顯示復(fù)選框。缺省為False。TrackSelect布爾類型,表示項(xiàng)目是否進(jìn)行選擇跟蹤,也就是當(dāng)該屬性取值為True,鼠標(biāo)位于某個(gè)項(xiàng)目之上時(shí),這項(xiàng)目改變顏色并且在項(xiàng)目下面顯示下劃線,表示當(dāng)前項(xiàng)目正準(zhǔn)備接收鼠標(biāo)的操作。該屬性的缺省取值為False。FullRowSelect布爾類型,表示當(dāng)選中項(xiàng)目時(shí)是否整行顯示。該屬性的缺省值為False。SingleExpand布爾類型,表示是否只有一個(gè)項(xiàng)目可以展開。當(dāng)該屬性取值為True時(shí),當(dāng)前選中的項(xiàng)目展開,前面選中的項(xiàng)目自動折疊;當(dāng)該屬性取值為False時(shí),可以有多個(gè)項(xiàng)目同時(shí)處于展開狀態(tài)。該屬性的缺省取值為False。Border
8、布爾類型,表示該控件是否顯示邊框。該屬性的缺省取值為True。該屬性選中時(shí),邊框顯示的樣式還取決于BorderStyle屬性的取值。BorderStyle枚舉類型,表示邊框的顯示樣式。該屬性可用的取值有StyleBox!(矩形邊框),StyleLowered!(嵌入邊框),StyleRaised!(高抬邊框)和StyleShadowBox!(陰影矩形邊框)。SortType枚舉類型,該屬性用來規(guī)定控件中項(xiàng)目的排序規(guī)則??捎玫娜≈涤蠥scending!(按字典順序升序排列),Descending!(按字典順序降序排列),UserDefinedSort!(根據(jù)用戶在sort事件中的腳本進(jìn)行排序)和
9、Unsorted!(不排序)。IndentInteger類型,表示以PowerBuilderUnit為單位的子項(xiàng)目的縮進(jìn)數(shù)。該屬性的取值可以為負(fù)數(shù),但是這樣有可能便子項(xiàng)目左移出控件的邊界。缺省取值為0。AcceleratorInteger類型,取值為控件快捷鏈的ASCII碼值。該屬性保存了控件快捷鍵對應(yīng)的ASCII碼值。*TreeViewItem屬性BoldBoolean項(xiàng)目標(biāo)簽上的文字以粗體顯示ChildenBoolean項(xiàng)目是否擁有子項(xiàng)目,可以使用該屬性擁有子項(xiàng)目,以便在以后觸發(fā)ItemPopulate和ItemExpanding事件CutHighLightedBoolean確定項(xiàng)目是否是
10、要剪切的對象DataAny用戶想和項(xiàng)目關(guān)聯(lián)的數(shù)據(jù)值DropHighLightedBoolean確定項(xiàng)目是不是當(dāng)前要拖拉的對象ExpandedBoolean確定項(xiàng)目是否展開ExpandedOnceBoolean確定項(xiàng)目是否至少被展開過一次。當(dāng)在控件的ItemPopulate事件中添加子項(xiàng)目時(shí)該屬性很有用,可以用來判斷是否已經(jīng)添加了子項(xiàng)目HasFocusBoolean判斷項(xiàng)目是否獲得當(dāng)前焦點(diǎn)ItemHandleLong項(xiàng)目的句柄。一個(gè)項(xiàng)目的句柄是惟一的,并且不同項(xiàng)目的句柄也不會有重復(fù)LabelLabel項(xiàng)目的文本標(biāo)簽LevelInteger確定TreeView控件中的項(xiàng)目的層次。根層次的取值為1O
11、verlayPictureIndexInteger覆蓋圖像列表中的圖像索引號PictureIndexInteger和項(xiàng)目相連的圖像在圖標(biāo)列表中的索引號SelectedPictureIndexInteger當(dāng)項(xiàng)目選中時(shí)與項(xiàng)目相連的圖像在圖標(biāo)列表中的索引號SelectedBoolean確定項(xiàng)目是否被選中StatePictureIndexInteger項(xiàng)目狀態(tài)圖標(biāo)的索引號【事件】BeginDraghandle當(dāng)用戶在控件上單擊鼠標(biāo)并開始拖動時(shí)觸發(fā)該事件BeginLabelEdithandle當(dāng)文本標(biāo)簽處于編輯狀態(tài)并開始進(jìn)行編輯時(shí)觸發(fā)該事件BeginRightDraghandle當(dāng)用戶在控件上單擊鼠標(biāo)
12、右鍵并開始拖動控件時(shí)觸發(fā)該事件Clickedhandle當(dāng)用戶點(diǎn)擊控件時(shí)觸發(fā)Constructor沒有當(dāng)控件創(chuàng)建時(shí)觸發(fā)。觸發(fā)時(shí)機(jī)應(yīng)該是包含控件的窗口打開之前DeleteItemhandle當(dāng)刪除項(xiàng)目時(shí)觸發(fā)Destructor沒有當(dāng)控件刪除時(shí)觸發(fā)。觸發(fā)時(shí)機(jī)應(yīng)該是在包含控件的窗口關(guān)閉時(shí)DoubleClickedhandle當(dāng)用戶雙擊控件時(shí)觸發(fā)DragDropsource ,handle當(dāng)用戶拖動一個(gè)對象到控件上并且松開鼠標(biāo)時(shí)觸發(fā)DragEntersource當(dāng)用戶拖動一個(gè)其他對象進(jìn)入控件時(shí)觸發(fā)DragLeavesource當(dāng)用戶拖動一個(gè)其他對象離開控件時(shí)觸發(fā)DragWithinsource,han
13、dle當(dāng)用戶拖動一個(gè)其他對象在控件中移動時(shí)觸發(fā)EndLabelEdithandle,newtext當(dāng)用戶結(jié)束標(biāo)簽的文本編輯時(shí)觸發(fā)GetFocus 沒有控件獲得焦點(diǎn)時(shí)觸發(fā)。觸發(fā)該事件時(shí)控件還沒有激活Help Xpos、Ypos當(dāng)用戶點(diǎn)擊F1按鈕或者其他方式要獲取幫助時(shí)觸發(fā)ItemCollapsedhandle當(dāng)控件的項(xiàng)目折疊后觸發(fā)ItemCollapsinghandle當(dāng)控件中的項(xiàng)目正在折疊時(shí)觸發(fā)ItemExpandedhandle當(dāng)控件的項(xiàng)目展開后觸發(fā)ItemExpandinghandle當(dāng)控件的項(xiàng)目正在展開時(shí)觸發(fā)Ite
14、mPopulatehandle當(dāng)控件中的項(xiàng)目正在打開其子項(xiàng)目時(shí)觸發(fā)Keykey,keyflag當(dāng)用戶點(diǎn)擊一個(gè)按鈕時(shí)觸發(fā)LoseFocus沒有控件失去焦點(diǎn)時(shí)觸發(fā)。該事件觸發(fā)時(shí)控件還是可用的Otherwparm,lparm當(dāng)出現(xiàn)其他沒有映射到PB消息上的消息時(shí)觸發(fā)該事件RightClickedhandle當(dāng)用戶在控件上點(diǎn)擊鼠標(biāo)右鍵時(shí)觸發(fā)該事件RightDoubleClickedhandle當(dāng)用戶在控件上雙擊鼠標(biāo)右鍵時(shí)觸發(fā)該事件SelectionChangedoldhandle,newhandle某項(xiàng)目被選中時(shí)觸發(fā)SelectionChangingoldhandle,newhandle某項(xiàng)目被選中之
15、前觸發(fā)Sorthandle1,handle2當(dāng)控件被排序時(shí)每次比較都觸發(fā)該事件【函數(shù)】AddPicture向TreeView控件中添加圖標(biāo)或者位圖。該函數(shù)的語法格式為controlname.AddPicture ( picturename )。AddStatePicture向TreeView控件的狀態(tài)圖標(biāo)列表中添加指定的位圖或者圖標(biāo)。該函數(shù)的語法是controlname.AddStatePicture ( picturename )。DeleteItem將TreeView控件中指定的項(xiàng)目及其子項(xiàng)目(如果有的話)都刪除。函數(shù)的語法是treeviewname.DeleteItem ( itemha
16、ndle ),其中itemhandle保存的是項(xiàng)目的惟一句柄,在該控件的很多事件中都有handle這個(gè)參數(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的項(xiàng)目的標(biāo)簽置為編輯狀態(tài)。ExpandAll該函數(shù)的語法是treeviewname.ExpandAll ( itemhandle ),作用是將句柄為itemhandle的項(xiàng)目下的所有子項(xiàng)目展開。展開控件中的所有項(xiàng)目,可以對根級項(xiàng)目使用該函數(shù)。ExpandItem函數(shù)的語法是treeviewname.ExpandItem ( itemhandle ),作用是展開句柄為itemhandle的項(xiàng)目。該函數(shù)
18、ExpandItem僅展開指定的項(xiàng)目,而不像ExpandAll那樣展開指定項(xiàng)目的所有子項(xiàng)目。FindItem語法是treeviewname.FindItem(navigationcode,itemhandle),作用是查找和Itemhandle項(xiàng)目的相對位置為navigationcode指定模式的項(xiàng)目。參數(shù)navigationcode是一個(gè)枚舉型變量,可用的取值如下所示。取 值 含 義RootTreeItem! 查找第一個(gè)根級項(xiàng)目,如果控件中還沒有添加任何項(xiàng)目則返回-1NextTreeItem!
19、 查找處于同一級別的下一個(gè)項(xiàng)目,如果沒有下一個(gè)項(xiàng)目則返回-1PreviousTreeItem! 查找處于同一個(gè)級別的前一個(gè)項(xiàng)目,如果沒有前一個(gè)項(xiàng)目則返回-1ParentTreeItem! 查找父項(xiàng)目的句柄,如果是根項(xiàng)目則返回-1ChildTreeItem! 查找第一個(gè)子項(xiàng)目,如果項(xiàng)目是折疊的,則將項(xiàng)目置為打開狀態(tài)。 如果沒有子項(xiàng)目則返回-1FirstVisibleTreeItem! 查找控件中第一個(gè)可視項(xiàng)目,注意滾動條距頂可視項(xiàng)目的位置NextVisibleTreeItem! 查找下一個(gè)展開項(xiàng)目,
20、如果下一個(gè)展開項(xiàng)目在控件的 可視項(xiàng)目的位置PreviousVisibleTreeItem!查找前一個(gè)展開的項(xiàng)目CurrentTreeItem! 查找當(dāng)前選中的項(xiàng)目。如果當(dāng)前沒有選中的任何項(xiàng)目則返回-1DropHighLightTreeItem! 查找最近被設(shè)置了DropHightLighted屬性的項(xiàng)目靈活運(yùn)用如上所列的取值,可以很輕松地遍歷TreeView中的所有項(xiàng)目。GetItem函數(shù)語法是treeviewname.GetItem ( itemhandle, item),作用是將句柄由參數(shù)itemhandle指定的項(xiàng)目的數(shù)據(jù)檢索到TreeViewItem結(jié)構(gòu)的參數(shù)item中。InsertI
21、tem函數(shù)語法是treeviewname.InsertItem(handleparent,handleafter,label, pictureindex ),作用是將標(biāo)簽為label的項(xiàng)目插入到控件中,插入位置在handleparent指定句柄的項(xiàng)目之下作為它的子項(xiàng)目,句柄為handleafter同級項(xiàng)目的后面。該函數(shù)還有另外一種語法格式是treeviewname.InsertItem ( handleparent, handleafter, item ),作用是將TreeViewitem類型的變量item指定的項(xiàng)目插入到控件的指定位置,另外兩個(gè)參數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣西培賢國際職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫一套
- 2024“才聚齊魯成就未來”山東省財(cái)金投資集團(tuán)有限公司社會招聘3人筆試參考題庫附帶答案詳解
- 機(jī)器學(xué)習(xí)原理與應(yīng)用電子教案 5.11.2集成學(xué)習(xí)基礎(chǔ)
- 2025年河南省漯河市單招職業(yè)適應(yīng)性測試題庫含答案
- 2025年桂林信息工程職業(yè)學(xué)院單招職業(yè)技能測試題庫參考答案
- 2025至2030年中國棉毛巾數(shù)據(jù)監(jiān)測研究報(bào)告
- 遼寧省重點(diǎn)高中沈陽市郊聯(lián)體2023-2024學(xué)年高二上學(xué)期期中考地理試題(解析版)
- 2025至2030年中國殺毒劑數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年甘肅省平?jīng)龅貐^(qū)單招職業(yè)適應(yīng)性測試題庫完整版
- 湖北省武漢市常青聯(lián)合體聯(lián)考2023-2024學(xué)年高二上學(xué)期1月期末考試地理試題(解析版)
- 磚數(shù)量自動計(jì)算、換算表
- 【課題】《中學(xué)道德與法治法治意識培養(yǎng)策略的研究》中期檢查表
- 《十萬個(gè)為什么》推進(jìn)課(小學(xué)課件)
- 發(fā)展?jié)h語初級綜合1:第28課《長城有八千八百五十多公里》
- YY/T 1619-2018牙科學(xué)種植體系統(tǒng)及相關(guān)過程的術(shù)語
- GB/T 18838.1-2002涂覆涂料前鋼材表面處理噴射清理用金屬磨料的技術(shù)要求導(dǎo)則和分類
- GA/T 1162-2014法醫(yī)生物檢材的提取、保存、送檢規(guī)范
- 紅金大氣商務(wù)風(fēng)領(lǐng)導(dǎo)歡迎會PPT通用模板
- 例談小組合作學(xué)習(xí)在小學(xué)英語教學(xué)中的有效開展(講座)課件
- 產(chǎn)品質(zhì)量法培訓(xùn)講義課件
- 民政局業(yè)務(wù)工作流程圖
評論
0/150
提交評論