19.2.2 Delphi部件編程
19.2.2.1 創建屬性
屬性(Property)是部件中最特殊的部分,主要因為部件用戶在設計時可以看見和操作它們,並且在交互過程中能立即得到返回結果。屬性也很重要,因為如果將它們設計好後,將使用戶更容易地使用,自己維護起來也很容易。
為了使你在部件中更好地使用屬性,本部分將介紹下列內容:
● 為什麼要創建屬性
● 屬性的種類
● 公布(publishing)繼承的屬性
● 定義部件屬性
● 編寫屬性編輯器
1. 為什麼要創建屬性
屬性提供非常重要的好處,最明顯的好處是屬性在設計時能出現在Object Inspector窗口中,這將簡化編程工作,因為你只需讀用戶所賦的值,而不要處理構造對象的參數。
從部件使用者的觀點看,屬性象變量。用戶可以給屬性賦值或讀值,就好象屬性是對象的域。
從部件編寫者的觀點看屬性比對象的域有更強的功能;
⑴ 用戶可以在設計時設置屬性
這是非常重要的,因為不象方法,只能在運行時訪問。屬性使用戶在運行程序之前就能定制部件,通常你的部件不應包含很多的方法,它們的功能可以通過屬性來實現。
⑵ 屬性能隱藏詳細的實現細節
⑶ 屬性能引起簡單地賦值之外的響應,如觸發事件
⑷ 用於屬性的實現方法可以是虛擬方法,這樣看似簡單的屬性在不同的部件中,將實現不同的功能。
2. 屬性的類型
屬性可以是函數能返回的任何類型,因為屬性的實現可以使用函數。所有的Pascal類型,兼容性規則都適用屬性。為屬性選擇類型的最重要的方面是不同的類型出現在Object Inspector窗口中的方式不同。Object Inspector<