- 相關推薦
創建自己的Dephi構件
可視化編程工具Dephi以強大的功能,眾多的優越特性,深受廣大使用者的喜愛,但如何編寫自己的Dephi構件對許多使用者來說比較陌生,因此,有必要掌握構件的創建方法。
一. 構件創建的步驟:
1. 使用New Component 對話框開始創建
選擇File|New彈出Object Reposity,雙擊Object Reposity的Component圖標,顯示New Component對話框開始創建。
2. 為構件增加屬性
Dephi中用關鍵字Property聲明屬性字段,屬性有read和 write可選從句,其語法格式為:
Property MyProperty :Atype
Read GetProperty write SetProperty;
GetProperty SetProperty分別為讀寫屬性過程。
3. 為構件增加方法
在Dephi構件創建中增加新的方法,需在 interface區的 private 、 protected 以 及public中的任一部分描述函數原型,若方法可能在以后被重載,則應在尾部加上 virtual 或dynamic關鍵字,然后在 implementation區定義方法的具體實現代碼。
4. 為構件增加事件
在Dephi中,事件也是使用關鍵字Property來聲明。其語法格式為:
Property OnNewEvent :Aevent Type
read FonNewEvent write FonNewEvent;
聲明事件后往往要將windows的消息傳遞與事件聯系起來才能真正實現事件驅動,因此,我們還要增加一種新的特殊類型的動態的“消息管理”方法,其語法格式為:
Procedure MsgPro(var Msg :Tmessage) ;message AmsgIndex;
其中,關鍵字Message 聲明此為一個消息管理方法。 AmsgIndex 為一整數常數,作 windows 消息動態索引,當索引為 AmsgIndex 的消息傳遞至應用程序時便會執行 MsgPro過程。
5. 測試構件
測試構件,確信構件是按設計編譯和起作用的。這是構件開發中非常關鍵的一步,為測試構件,要先寫一個用作測試的應用程序,由于不能拉出構件選項板窗口上的構件,還必須人工創建一個構件。
6. 將新構件添加到構件選項板
當構件正常工作并令人感到滿意后,可添加到構件選項板上,從主菜單選擇Component | Install Component顯示一個Install Component 對話框,該對話框能夠添加構件到程序包。
二. 構件創建實例
下面要開發的新構TnewLabel 是從TLabel 類繼承來的,它與 TLabel 具有相似的焦點感應能力:當鼠標移到Tlabel 上時,文字顏色發生改變;當鼠標離開時,顏色恢復。它還將增加一個EnterTextColor屬性以及 OnMouseLeave和OnMouseLeave事件。屬性 EnterTextColor中可以輸入鼠標進入構件時文字的顏色, OnMouseEnter、 OnMouseLeave事件中則可輸入程序員自己的代碼來指定鼠標進入和離開構件時的動作。
1. 選中Component菜單項中的 New Component選項,在 Ancestor Type 框填入Tlabel,在 Class Name框中填入 TnewLabel ,在 Palette Page框中填入 Samples,在 Unit File Name 框中填入 NewCom.pas ,然后單擊按鈕 Create Unit就進入到代碼編輯狀態。
2. 使用 Tools菜單中Image Editor來創建編輯文件NewCom.dcr,為 TnewLabel類建立位圖。
3. 增加新屬性EnterTextColor ,并為讀寫屬性增加私有方法 SetEnterTextColor和私有變
量 FenterTextColor。
加入如下的代碼:
Private
FenterTextColor : Tcolor;
SetEnterTextColor(Acolor :Tcolor);
Published
Property EnterTextColor : Tcolor
Read FenterTextColor Write SetEnterTextColor(Acolor);
…
Implementation
Procedure TnewLabel.SetEnterTextColor(Acolor :Tcolor);
Begin
FEnterTextColor:=Acolor;
End;
下一頁
【創建自己的Dephi構件】相關文章:
談變壓器構件和附件的檢修03-19
支持語音的教師上課點名系統的設計與實現DEPHI+SQL03-08
鋼筋混凝土構件保護層問題探討03-26
試論建筑結構設計安全度與結構構件耐久性03-11
農村小學師德師風創建研究06-23
小學數學高效課堂的創建策略03-27
AutoCAD中圖形庫的創建和管理03-18