PB-treeview基本属性事件函数
生活随笔
收集整理的這篇文章主要介紹了
PB-treeview基本属性事件函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PB-treeview基本屬性事件函數 編程相關閱讀271 評論0 ??字號:大中小?訂閱 2010-11-04 13:43:34
與拖拽項目相關的屬性及事件
??函數
常用代碼????
// 若要改變TreeView控件中的屬性的話,可按以下步驟
A. 通過GetItem函數獲得項目,并賦值給一個TreeViewItem結構
B. 重新設置TreeViewItem的屬性值
C. 通過SetItem函數,把TreeViewItem中的值拷貝回TreeView控件中
刪除項目,若要用戶刪除TreeView控件中的項目,首先需將TreeView控件的DeleteItem屬性設為True.
當用戶按下Delete時,就會刪除當前選中的項目并且觸發TreeView控件的DeleteItem事件.當前選中
項目的所有子項目也會被刪除.
如果想對刪除操作進行控制,如果只允許刪除最底層項目,則不能把TreeView控件的DeleteItems屬性設置為True,而是要通過
編碼調用DeleteItem函數完成刪除,該函數也能夠觸發DeleteItem事件
RootTreeItem!?在樹中的第一項
NextTreeItem! ?同一級的兄弟項,下一個
PreviousTreeItem!?同一級的兄弟項,上一個
ParentTreeItem!?當前項的父項
ChildTreeItem!?當前句柄的第一個子項
FirstVisibleTreeItem!?第一個顯示的項在控件中,不管在那一級.滾動條位置決定第一個顯示項.
NextVisibleTreeItem!?下一個展開項后的項句柄,不管在那一級.下一個顯示項與上一個顯示項允許你通過所有顯示子項和展開項分枝
PreviousVisibleTreeItem! 下一個展開項當前句柄前,不管在那一級.
CurrentTreeItem!?被選中的項.
DropHighlightTreeItem!?屬性被設為DropHighlighted
| Label???? | 項目的標識文字 |
| OverlayPictureIndex | 指定要使用的重疊圖片的列表中的圖片索引, 該圖片顯示在正常圖片的上邊StatePictureIndex????? 與狀態圖標列表中某個圖標相對應的索引號.該圖標顯示在普通圖標的左邊SelectPictureIndex??? 與普通圖標列表中某個圖標相對應的索引號,當該項選中時顯示該圖標。如果該值為0的話,則表示不顯示任何圖標 |
| Data | 為項目選擇一個數據類型(可從任何數據類型是中進行選擇).可以利用此屬性控制項目的排序或生成數據庫查詢條件, 為項目選擇一個數據類型(可從任何數據類型是中進行選擇).可以利用此屬性控制項目的排序或生成數據庫查詢條件 |
| HasButtons | 當某個列表有子列表項時,就在其前顯示“+”或“-”按鈕,以表示該列表項是折疊的還是展開。 |
| HasLines和LinesAtRoot | 顯示某一枝中連接項目的連線和顯示連接根一級項目的連線 |
| Checkboxes | ?用選中或未選中的復選框替換狀態圖標 |
| TrackSelect? | 設置熱點跟蹤功能,當鼠標在列表上移動時改變當前經過的列表項的顯示狀態 |
| FullRowSelect | 高亮顯示所選項的整個行(沒看出現象) |
| SingleExpand | 展開所選項并自動折疊前一個選中的項 |
| Indent | 設置列表項的縮進程度 |
| Font屬性類 | 設置所有列表項標識的字體;各類圖標屬性設置圖標及其大小 |
| Children | 如果想通過雙擊鼠標來觸發ItemPopulate事件的話,則必須把這個屬性設為True,ItemPopulate事件腳本可插入子項 |
| PictureIndex | 與普通圖標列表中某個圖標相對應的索引號 |
與拖拽項目相關的屬性及事件
| DragAuto | 指定PowerBuilder 是否把該控件置入拖拽模式(DragMode), 有效取值為 true =? 當該控件被單擊時, 該控件自動進入拖拽模式, false =? 當該控件被單擊時,該控件不進入拖拽模式. 此時如果需要將控件置為拖拽模式, 需要在代碼中使用Drag() 函數手工設置 |
| DisableDragDrop | 指定當用戶單擊某個列表項進行拖拽時,能否觸發與拖拽事件相關的事件,比如BeginDrag 事件. 有效取值為 true = 不觸發拖拽事件, false = 觸發拖拽事件 |
| DragIcon | 指定用戶拖拽圖象的名稱,該名稱可以是系統預定的圖標名(比如 exclamation!, information!)也可以是圖標文件名(.ico). 缺省時, 系統使用控件大小的方框作為拖拽圖標. 在用戶拖動控件過程中, 當被拖動控件進入該控件可以被放下的區域時, 系統顯示拖動圖標. |
| BeginDrag事件 | 當用戶在控件中按下鼠標左鍵進行拖拽時觸發, 如果該控件的DragAuto 屬性設置為 true , 拖拽過程由PB 自動完成. 如果該控件的 DragAuto 屬性設置為 false, 則拖拽過程必須通過編程來實現 |
| DragWinthin? | 以高亮顯示拖拽目標項目的腳本, 當某個被拖拽控件處于該控件內部時觸發 |
| DragDrop? | 實現拖拽操作的腳本事件, 當某個被拖拽控件, 放到該控件上時觸發 |
| PictureIndex |
| ItemPopulate | 當第一次展開某列表項時觸發, 該事件返回 1 被阻止展開, 返回 0 完成展開. 如果列表項 沒有子項, 那就不能被展開. 一般來說該事件與ItemExpanding 事件常用于生成相應列表項的子列表項 |
??函數
| InsertItem | 在某父項目下,在指定的同層項目后面插入一項,如果父項目下還沒有子項目,則需使用其 他插入函數0意為插入到根級層次 InsertItem() 功 能: 在樹形視圖控件的指定層次, 指定位置上插入一個列表項. 該函數有兩種語法格式: 語法一 只需提供要插入列表項的標題和圖片索引, 語法二 提供列表項標題和圖片索引, 在指定層次, 指定位置上插入列表項. 語?法: TreeViewName.InsertItem( HandleParent, HandleAfter, Label, PictureIndex ) 參?數: TreeViewName: 樹形視圖控件的名稱. ??????? HandleParent: 指定要插入列列項父節點的句柄( 一個長整數, 每個節點都有一個 ????????????????????? 唯一代表該節點的句柄 ) , 對第一層節點, 該項的值為0 . ??????? HanldeAfter : 指定在同一層中句柄為HandleAfter 的項后面插入新項. ??????? Label?????? : 新插入列的標題, 即顯示樹視圖控件的文字. ??????? PictureIndex: 新插入列表項標題前顯示的圖片的索引號. 返回值: Long 函數執行成功時返回新插入列表項的句柄, 發生錯誤時函數返回 -1. 用?法: 使用這種語法格式插入列表項時, 應用程序只需要提供新插入列表項的標題 ??????? 以及圖片索引. 如果想在插入列表項的同時, 設置列表項的更詳細信息, 那么請使用 ??????? TreeViewItem.InsertItem( HandleParent, HandleAfter, TreeViewItem ) 說?明: 在插入列表項時, 如果樹視圖控件的 SortType 屬性設置為 Unsorted! 之外的值, 那么 ??????? 插入的列表項將根據 SortType 屬性的值進行排序. ??????? 如果想插入某個列表項的第一個子列表項, 那么請使用 InsertItemLast() 或 InsertItemFirst() 示?例: 下面的代碼在當前列表項后面插入一個列表項, 新插入列表項與當前列表項位于同一個層次上: ??????? Long ll_tvi, ll_tvparent ?????? ??????? // 得到當前列表項的句柄 ??????? ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0) ??????? // 得到當前列表項的父列表項的句柄 ??????? ll_tvparent = tv_list.FindItem(ParentTreeItem, ll_tvi) ??????? ??????? // 插入新列表項 ??????? tv_list.InsertItem( ll_tvparent, ll_tvi, "東方不敗", 2 ) 語法二: 提供列表項完整信息, 在指定層次, 指定位置上插入列表項 語?法: TreeViewName.InsertItem( HandleParent, HandleAfter, item ) 參?數: TreeViewName: 樹視圖控件的名稱 ??????? HandleParent: 指定要插入列表項父節點的句柄( 一個長整數, 每個節點都有一個 ??????? 唯一代表該節點的句柄 ), 對第一層節點, 該項的值為 0. ??????? HandleAfter : 指定在同一層中句柄為 HandleAfter 的項后面插入新項. ??????? Item??????? : TreeViewItem 對象, 指定要插入的列表項. 返回值: Long. 函數執行成功時返回新插入列表項的句柄, 發生錯誤時函數返回 -1. 用?法: 使用這種語法格式插入列表項時, 應用程序需要提供新插入列表項的完整信息. 如果只想在插入 ??????? 列表項時簡單提供列表項的標題, 以及圖片索引, 那么請使用語法一格式的InsertItem() 函數. 說?明: 在插入列表項時, 如果樹視圖的 SortType 屬性設置為 Unsorted! 之外的值, 那么插入的列表 ??????? 項將根據 SortType 屬性的值進行排序. ??????? 如果想插入某個列表項的第一個子列表項, 那么請使用 InsertItemLast() 或 InsertItemFirst() 示?例: 下面的代碼在當前列表項后面插入一個列表項, 新插入列表項與當前列表項位于同一層次上: ??????? ??????? Long ll_tvi, ll_tvparent ??????? ??????? // 得到當前列表項的句柄 ??????? ll_tvi = tv_list.FindItem( CurrentTreeItem!, 0 ) ??????? // 得到當前列表項父列表項的句柄 ??????? ll_tv_parent = tv_list.FindItem( ParentTreeItem!, ll_tvi ) ??????? // 插入新列表項 ??????? tv_list.InsertItem( ll_tvparent, ll_tvi, ltv_item ) ??????? // 其中, 假設 TreeViewItem 對象 ltv_item 在程序的某個地方已經賦值. |
| InsertItemFirst | 作為父項目的第一個子項目插入 |
| InsertItemLast | 作為父項目的最后一個子項目插入 |
| InsertItemSort | 如果可能的話按字母順序插入到某個父項目下 |
| FindItem | 獲得句柄,當前項目或父項目 tv_1.SetFirstVisible(tv_1.FindItem(RootTreeItem!,0)) 設置第一個項目為可視的句柄 tv_1.FindItem(CurrentTreeItem!,0)???? 當前選中項的句柄 tv_1.FindItem(ParentTreeItem!,tv_1.FindItem(CurrentTreeItem!,0)) 當前選中項的父項句柄 tv_1.FindItem(RootTreeItem!,0)??????? TreeView中的第一個項目 tv_1.FindItem(PreviousTreeItem!, ll_handle) |
常用代碼????
// 若要改變TreeView控件中的屬性的話,可按以下步驟
A. 通過GetItem函數獲得項目,并賦值給一個TreeViewItem結構
B. 重新設置TreeViewItem的屬性值
C. 通過SetItem函數,把TreeViewItem中的值拷貝回TreeView控件中
刪除項目,若要用戶刪除TreeView控件中的項目,首先需將TreeView控件的DeleteItem屬性設為True.
當用戶按下Delete時,就會刪除當前選中的項目并且觸發TreeView控件的DeleteItem事件.當前選中
項目的所有子項目也會被刪除.
如果想對刪除操作進行控制,如果只允許刪除最底層項目,則不能把TreeView控件的DeleteItems屬性設置為True,而是要通過
編碼調用DeleteItem函數完成刪除,該函數也能夠觸發DeleteItem事件
RootTreeItem!?在樹中的第一項
NextTreeItem! ?同一級的兄弟項,下一個
PreviousTreeItem!?同一級的兄弟項,上一個
ParentTreeItem!?當前項的父項
ChildTreeItem!?當前句柄的第一個子項
FirstVisibleTreeItem!?第一個顯示的項在控件中,不管在那一級.滾動條位置決定第一個顯示項.
NextVisibleTreeItem!?下一個展開項后的項句柄,不管在那一級.下一個顯示項與上一個顯示項允許你通過所有顯示子項和展開項分枝
PreviousVisibleTreeItem! 下一個展開項當前句柄前,不管在那一級.
CurrentTreeItem!?被選中的項.
DropHighlightTreeItem!?屬性被設為DropHighlighted
轉載于:https://blog.51cto.com/dongdongdong/563640
總結
以上是生活随笔為你收集整理的PB-treeview基本属性事件函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenSSL加密与证书
- 下一篇: IIS6.0应用程序池回收和工作进程【转