樹形控制元件比較 (轉)

worldblog發表於2007-12-12
樹形控制元件比較 (轉)[@more@]

 

樹形比較

  也許是受到資源管理介面的影響,樹形控制元件(TTreeView)在介面中的使用也越來越廣泛,其直觀的表現形式、方便的操作方式,確實為介面增色不少(是啊,仿介面,看著都親切).TTreeView在、BCB的自帶介面控制元件中,基本上算得上是最複雜的控制元件之一.雖然它只是BORLAND對WINDOWS標準控制元件的VCL封裝,對於一般的要求,使用起來還算方便.而對於更高一些的要求,就顯得不是太方便了,如平滑的背景底圖(螞蟻)、自動跟蹤的節點CheckBox(金山毒霸中目錄、選擇)和節點RadioButton、節點圖示及狀態圖示控制、多列(TreeList)、與表資料關聯、高管理海量節點數、匯出和列印等等,雖然用TTreeView也都能實現,但程式碼及控制的複雜性令人生畏,有時甚至超過本身完成的業務功能,實在不划算,論壇上關於這些方面問題帖子也是層出不窮.也不知道為什麼BORLAND不提供一個更強大、使用更方便的TTreeView ( TTreeViewEx ? ),鬱悶ing....

  看來我們只有自力更生......去尋找好用的第三方樹形控制元件了,本人以前曾收集控制元件無數,試用的樹形控制元件不下十個(太誇張了吧),很多試用過的都不太理想,連名字都不太記得了,有些連安都懶得安,打碼看看屬性事件繼承關係程式碼質量等等就直接delete了,印象中較有特色的有T(xx)Tree,TCheckTree,T(xx)TreeList等幾個,一看名字就知道是
TreeView在某個方面功能的增強版,不提也罷.

  優秀的有TdxTreeList,TdxDBTreeList,TVirtualTree,TElTree等幾個,都是從VCL的TCustomContorl繼承下來的(與TTreeView封裝WINDOWS標準控制元件不同),前兩個(簡稱dxTrees)是大名鼎鼎的DevExpress QuantumGrid控制元件包中的,DevExpress公司的控制元件,只能用兩個字形容:牛×,相信用過的人都有同感.TVirtualTree是free控制元件,絕對專業的"純VCL"樹形控制元件,功能強大,屬性事件豐富,絕對滿足你的定製要求,幫助文件(可惜是E文的)和DEMO也很全面,最新版本3.4.9支援DELHPI4567,BCB456,上面列舉的種種"高階功能",有了它全都搞定,某些方面比dxTrees更強大(當然也有不如dxTrees的地方).至於TElTree,比起前面幾個就差遠了,介面上還過得去,最不可容忍的是問題,在節點數很多時(如幾萬,幾十萬個),刪除(包括控制元件析構時)操作巨慢,不知道現在的最新版本有否改進,我很久以前就"喜新厭舊",不再使用它了.

  總的來講,TdxTreeList,TdxDBTreeList,TVirtualTree屬於同一級別的,各有側重.

  TVirtualTree相當於TTreeView+TListView+ (TStringGrid 或 TDrawGrid),底圖,節點級的Checked,Disabled,Visibled,HotTrack...,節點遍歷,儲存資料到流,到檔案(rtf,html,txt...)
剪貼簿支援,ole & vcl拖放支援,列印,排序,單元格編輯,Unicode支援,精細的外觀和行為定製,太多太多功能,尤其在效率和圖形方面,相當不錯(具體可見help或demo).一旦擁有,別無所求! 吐血推薦! 缺點是資料庫方面的直接支援和設計時的操作稍差(沒有設計時節點編輯器),節點的操作,顯示必須在執行時用程式碼實現,好象不如TdxTrees,但這是它的設計思想所決定的,即把資料和介面顯示分離開,這點類似於VC中的TreeView,對於高手來說,也許正是所需要的.結論:★★★★★

  TdxTreeList相當於TTreeView+TListView+TStringGrid.與TVirtualTree相比,在單元格編輯和多層列頭及設計時的操作方面很突出.結論:★★★★
  TdxDBTreeList相當於TTreeView+TListView+TDBGrid,在資料庫方面更好用,網格編輯,多層列頭,自動排序等等功能應有盡有,使用方便,介面豪華.結論:★★★★☆

  說實話,本人對DevExpress系列的控制元件用得並不是很多,也許對其品價有失公允,從樹形單控制元件的角度綜合評價,TVirtualTree確實是我用過的最好的控制元件之一.
  以上純屬個人意見,僅供參考.

附地址:

TVirtualTree:

">

DevExpress QuantumGrid控制元件包 :

delphi窯洞,

歡迎來信:  to:gmxybease.com">gmxyb@netease.com


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991876/,如需轉載,請註明出處,否則將追究法律責任。

相關文章