在本章中將闡述如何為Delphi應用程序編寫部件。這一章將達到兩個目的:
● 教你如何自定義部件
● 使你的部件成為Delphi環境的有機組合部分
19.1 Delphi部件原理
19.1.1 什麼是部件
部件是Delphi應用程序的程序構件。盡管大多數部件代表用戶界面的可見元素,但部件也可以是程序中的不可見元素,如數據庫部件。為弄清什麼是部件可以從三個方面來考察它:功能定義、技術定義和經驗定義。
1. 部件的功能定義
從最終用戶角度,部件是在Component Palette上選擇的,並在窗體設計窗口和代碼窗口中操作的元素。從部件編寫者角度,部件是代碼中的對象。在編寫部件之前,你應用相當熟悉已有的Delphi部件,這樣才能使你的部件適合用戶的需要。編寫部件的目標之一是使部件盡可能的類似其它部件。
2. 部件的技術定義
從最簡單的角度看,部件是任何從TComponent繼承的對象。TComponent定義了所有部件必須要的、最基本的行為。例如,出現在Component Palette上和在窗體設計窗口中編輯的功能。但是TComponent並不知如何處理你的部件的具體功能,因此,你必須自己描述它。
3. 部件編寫者自己的定義。
在實際編程中,部件是能插入Delphi開發環境的任何元素。它可能具有程序的各種復雜性。簡而言之,只要能融入部件框架,部件就是你用代碼編寫的一切。部件定義只是接口描述,本章將詳細闡述部件框架,說明部件的有限性,正如說明編程的有限性。本章不准備教你用所給語言編寫每一種部件,只能告訴編定代碼的方法和怎樣使部件融入Delphi環境。
19.1.2 編寫部件的不同之處
在Delphi環境中建立部件和在應用程序中使用部件有三個重要差別:
● 編寫部件的過程是非可視化的
● 編寫部件需要更深入的關於對象的知識