首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 元件開發起點:五大元件類型選擇與建立流程

     編輯:Delphi

19.2.1.2 建立元件的起點

所有元件屬 VCL 繼承樹一部分,TComponent 為共同祖先。建立新元件即從現有類型繼承。五大主要途徑對應起始類別:

途徑起始類別
修改現有元件任何現有元件(TButton、TListBox)或抽象基類(TCustomListBox)
建立原始控制項TCustomControl
建立圖形控制項TGraphicControl
建立視窗控制項子類TWinControl
建立非可視元件TComponent

亦可繼承非元件物件(TIniFile、TFont),但無法於表單設計器操作。

1. 修改現有控制項

最簡單方式:繼承現有元件並客製化。可修改預設屬性值。對 TListBox 等擁有大量屬性的控制項,若需隱藏部分屬性,應繼承抽象基類(TCustomListBox),僅發布 (published) 所需屬性,其餘保留 protected。

2. 建立原始控制項

標準控制項繼承自 TWinControl,擁有視窗控制代碼 (Handle),可接收輸入焦點、傳遞 Windows API。若需此特性,從 TCustomControl 繼承。

3. 建立圖形控制項

無視窗控制代碼,不佔用系統資源,但無法接收輸入焦點。繼承 TGraphicControl,提供 Canvas 繪圖,需覆寫 Paint 方法處理 WM_PAINT。

4. 繼承視窗控制項

Windows 視窗類概念與 OOP 類別對應。傳統開發需定義新視窗類並註冊。Delphi 允許建立封裝既有視窗類的元件,或封裝現有 DLL 控制項。StdCtrls 單元多此類範例。

5. 建立非可視元件

直接繼承 TComponent。具備設計期基本功能(屬性、事件、持久化),主要作為非可視程式單元(資料庫、對話框)介面。

19.2.1.3 建立新元件的方法

兩種方式:手工建立、使用元件精靈。完成後安裝至調色盤即可測試。

1. 手工建立元件

三步驟:建立單元 → 宣告繼承類別 → 註冊元件。

  1. 建立單元:File/New/Unit 或開啟現有單元(不可含表單)
  2. 宣告類別:於 interface 區加入型別定義
    type
      TNewComponent = class(TComponent)
      end;
  3. 註冊元件:interface 宣告 procedure Register;,implementation 實作呼叫 RegisterComponents('Samples', [TNewComponent]);

2. 使用元件精靈

File/New/Component 填寫:元件名稱、祖先類別、調色盤頁面。自動執行手工三步驟,但無法加入現有單元。完成後立即儲存單元。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved