編寫元件的屬性、方法與事件只是開發流程的基礎。要讓元件真正發揮威力,關鍵在於能否在設計時期於 IDE 中被直觀操作。將元件納入設計時環境,需完成以下四大步驟:
為使 Delphi 識別自定義元件並將其置於「元件調色盤」,必須在元件所在單元中實作 Register 程序。此程序包含宣告與實作兩部分,且必須置於單元的 interface 區塊,以便 IDE 定位。
註冊程序範本:
unit MyBtns;
interface
type
{ 宣告自定義元件類型 }
TMyComponent = class(TComponent)
end;
procedure Register;
implementation
procedure Register;
begin
{ 註冊元件至指定調色盤頁面 }
RegisterComponents('Miscellaneous', [TMyComponent]);
end;
end.
在 Register 程序中,需對每個欲加入調色盤的元件呼叫 RegisterComponents。此程序接受兩個參數:調色盤頁面名稱(字串,若不存在則自動建立)與元件類別陣列。可一次註冊多個元件至同一或不同頁面:
procedure Register;
begin
RegisterComponents('Miscellaneous', [TFirst, TSecond]);
RegisterComponents('Assorted', [TThird]);
end;
每個元件需一個 24×24 像素的位圖代表其在調色盤上的圖示。若未提供,Delphi 將使用預設圖示。因位圖僅於設計時期需要,無須編譯進單元,而是置於與單元同名、副檔名為 .DCR 的 Windows 資源檔中。使用 Delphi 內建位圖編輯器即可建立。資源名稱需與元件類別名稱一致,檔案放置於單元同目錄下,安裝時 IDE 即可自動發現。
範例:單元 ToolBox.pas 中的 TMyControl 需建立 TOOLBOX.DCR,內含名為 TMyControl 的位圖資源。
當使用者在表單設計器或物件檢視器中選取元件、屬性或事件並按 F1,應能彈出相關說明。Delphi 採用關鍵字為基礎的說明引擎,支援跨多個 .HLP 檔案搜尋主題,使自定義元件的說明能無縫整合進 Delphi 說明系統。
使用者按 F1 時,Delphi 將元件名稱轉換為關鍵字(如 class-TSomething),再呼叫 Windows Help 引擎查找。此類關鍵字對使用者不可見,避免干擾搜尋列表。
完成後將產生編譯後的 .HLP、關鍵字 .KWF、來源 .RTF 及專案 .HLJ 等檔案。