Object TreeView簡要說明 (轉)

worldblog發表於2007-12-09
Object TreeView簡要說明 (轉)[@more@]

TreeView簡要說明

:namespace prefix = o ns = "urn:schemas--com::office" /> 

在 6 中,最顯眼的新功能可能就是Object TreeView了。由於Delphi 6比較新,介紹它的資料還很少,所以很多人不知道如何使用Object TreeView,甚至嫌它太佔地方而將它關閉了。事實上,當窗體上的構件越來越多的時候,你才會發現Object TreeView的強大功能。

以下是關於Object TreeView功能的一個簡單介紹,其主要內容取自《Mastering Delphi 6》,我只是做一些整理和翻譯的工作罷了。希望能對使用Delphi 6的朋友有所幫助。

 

 

關於Object TreeView的使用

1.在Delphi 5的Data Module設計器中,使用了一個TreeView來顯示非可視構件(如DataSet, Fields,Actions等等)之間的關係。Delphi 6中的Object TreeView則是它的擴充套件,它不僅對於Data Module,對於普通窗體和其他也可用。

如果Object TreeView當前不可見,而又想使用它,選擇View | Object TreeView即可。

 

2.Object TreeView使用層次檢視來顯示窗體上的構件以及它們之間的關係。最典型的是父子關係:例如,所有Form上的構件都是Form的子節點;又如,放一個Panel到窗體上,再往Panel上面放一個Button,則Button會成為Panel的子節點。

Object TreeView,Object Inspector和窗體設計器是同步的。這就是說,在窗體上選擇一個構件,則在Object TreeView中也會自動選中該構件,同時Object Inspector中顯示該構件的屬性和事件;同理,在Object TreeView中選擇一個構件,窗體上也會同時選擇該構件,在Object Inspector中顯示其屬性和事件。因此,Object Inspector可以看作窗體設計器的一個增強,在窗體上構件比較多,而且彼此覆蓋的時候,在Object Inspector種選擇一個構件往往比從窗體上面選擇或者從Object Inspector的列表中查詢要方便快捷。

 

3.Object TreeView中還能夠顯示構件之間的其他關係。舉例如下:

(1)用Menu Designer設計選單,所有選單項按其在選單中的層次顯示在MainMenu節點下;

(2)對於資料集構件,例如TTable,Object TreeView還會顯示它在執行時刻將產生的一些物件,例如Session,Alias等,但由於它們是執行時刻才產生的,所以無法編輯它們的屬性,在Object TreeView中這些物件將以無名稱的節點和一個特殊的圖示來表示,並且在選中這些節點的時候,Object Inspector中沒有屬性可以編輯。

(3)對於ListView,Object TreeView還會列出它的Columns,在Columns上面點選右鍵,就可以直接編輯各個列。這比從FoDesigner上面選擇ListView,再選擇Columns Editor來的方便。其他一些構件也有類似的情況,例如HeaderControl的Sections,CoolBar的Bands,Statar的Panels,都可以從快捷選單中直接編輯。(ToolBar預設情況下雖然沒有將Buttons列出,但是仍然可以在從Object TreeView中ToolBar的快捷選單中建立Button和Separator。)

 

4.想精確設定構件之間的Contains關係,Object TreeView也是一個有用的工具。可以透過下面的試驗來驗證:

(1)在窗體上面放置一個Panel;

(2)從構件皮膚上選擇Button構件;

(3)將滑鼠定位在Object TreeView上面(但先不要按下)。你會注意到,當滑鼠指向可以作為Container的構件,例如Form和Panel的時候,游標形狀會變成一個箭頭帶一頁紙的形狀,這說明構件可以放置到Container上面。相反,如果滑鼠停留在ListBox,Label這樣的構件上面,那麼游標將會變成No Drop形狀,說明它們不能作為Container。

(4)將游標定位在Panel上面,並按下左鍵。Button將自動成為Panel的子節點,同時,Panel和Button也建立起了contains關係。

你可以很容易的改變構件之間的Contains關係。例如,在Object TreeView中拖動Button到Form上面,則現在擁有Button的Container就不再是Panel,而是Form本身了。在過去,這種操作是透過Cut&Paste來完成的,但是Cut&Paste也有一個缺點,那就是一個構件被剪下後,它和其他構件之間的關聯就丟失了。而使用Object TreeView,不會有這種缺點。

 

在窗體上面的構件很多,並且彼此覆蓋的時候,在Form Designer中查詢和操作某個構件就變得相當麻煩。在這個時候,Object TreeView更能夠顯示它的作用。

Object TreeView和Code Editor中的Diagram檢視配合,還能夠發揮更為強大的作用。不過這些內容相當多,需要另外用一個專題來講述了。

 

Object TreeView很有用,不過代價是要多佔一點螢幕空間。由於Delphi IDE支援各個工具的Docking,你可以將Object TreeView和Object Inpector組合在一起,成為一個視窗,這樣可以稍稍節省一點螢幕空間。Object TreeView和Object Inspector既可以左右排列,也可以上下排列,這兩種方式各有優缺點。你可以選擇你喜歡的方式,然後用Desktop工具欄上Save Desktop按鈕,來將你的桌面設定儲存起來供下次使用。

 


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

相關文章