VB6.0設計真正實用的TreeView控件
TreeView是最靈活的 Windows 控件之一,它以分層的形式顯示數據,允許用戶隨意擴展或折疊節點。鑒于實際生活中許多事物有著層次關系,如計算機里的文件夾、人事組織關系、地區從屬關系等,TreeView的應用也極其廣泛。但在實際 開發 中,許多人不喜歡使用Tree
TreeView是最靈活的
Windows控件之一,它以分層的形式顯示數據,允許用戶隨意擴展或折疊節點。鑒于實際生活中許多事物有著層次關系,如計算機里的文件夾、人事組織關系、地區從屬關系等,TreeView的應用也極其廣泛。但在實際
開發中,許多人不喜歡使用TreeView,主要是由于默認的TreeView是“只讀”的,不支持添加、刪除、編輯、調整節點位置等操作。本文將通過一個TVEdit工程說明如何解決這些問題。
TVEdit工程(圖一)允許在運行時生成節點數據、編輯節點標簽、通過拖放操作改變節點的位置,以及將TreeView的數據保存到
XML文件或從
XML文件讀取。

圖一 |
一、規劃鍵擊事件
修改用戶界面控件的默認行為不僅要考慮到用戶如何通過鼠標訪問新的控件功能,而且還要允許用戶使用鍵盤操作。TreeView默認支持下列鍵擊事件:
▲ 上下兩個箭頭鍵移動光標(變換當前被選中的節點)。
▲ 左右箭頭鍵除了變換當前被選中的節點之外,兼具擴展/折疊節點功能。
▲ Enter鍵擴展或折疊節點。
TVEdit工程不改變這些默認的鍵擊行為。但由于TreeView默認的鍵擊事件不允許用戶編輯其內容,所以我們要另外添加幾個事件:
▲ 按Insert鍵在當前選中的節點之下插入一個新的節點。如果要添加一個新的根節點,按Ctrl+Insert鍵。用戶按下Insert鍵之后,控件自動進入編輯狀態,再按Enter鍵可退出編輯狀態,控件自動選中父節點,以便用戶只需按一下Insert鍵就可以在同一父節點之下插入新節點。
▲ 按Space鍵(或鼠標停留較長時間)使當前選中的節點進入編輯狀態(也許有的人更樂意用Enter鍵進入編輯狀態,但TreeView控件已經定義了Enter鍵的默認行為,所以這里不再用它)。
▲ 按Delete鍵刪除當前選中的節點。如果被刪除的節點包含子節點,所有子節點也被同時刪除。
▲ 用鼠標拖放節點可改變節點在TreeView分層結構中的位置。如果被拖動的節點包含子節點,所有子節點也將被移動。
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|