- 相關(guān)推薦
創(chuàng )建自己的Dephi構件
可視化編程工具Dephi以強大的功能,眾多的優(yōu)越特性,深受廣大使用者的喜愛(ài),但如何編寫(xiě)自己的Dephi構件對許多使用者來(lái)說(shuō)比較陌生,因此,有必要掌握構件的創(chuàng )建方法。
一. 構件創(chuàng )建的步驟:
1. 使用New Component 對話(huà)框開(kāi)始創(chuàng )建
選擇File|New彈出Object Reposity,雙擊Object Reposity的Component圖標,顯示New Component對話(huà)框開(kāi)始創(chuàng )建。
2. 為構件增加屬性
Dephi中用關(guān)鍵字Property聲明屬性字段,屬性有read和 write可選從句,其語(yǔ)法格式為:
Property MyProperty :Atype
Read GetProperty write SetProperty;
GetProperty SetProperty分別為讀寫(xiě)屬性過(guò)程。
3. 為構件增加方法
在Dephi構件創(chuàng )建中增加新的方法,需在 interface區的 private 、 protected 以 及public中的任一部分描述函數原型,若方法可能在以后被重載,則應在尾部加上 virtual 或dynamic關(guān)鍵字,然后在 implementation區定義方法的具體實(shí)現代碼。
4. 為構件增加事件
在Dephi中,事件也是使用關(guān)鍵字Property來(lái)聲明。其語(yǔ)法格式為:
Property OnNewEvent :Aevent Type
read FonNewEvent write FonNewEvent;
聲明事件后往往要將windows的消息傳遞與事件聯(lián)系起來(lái)才能真正實(shí)現事件驅動(dòng),因此,我們還要增加一種新的特殊類(lèi)型的動(dòng)態(tài)的“消息管理”方法,其語(yǔ)法格式為:
Procedure MsgPro(var Msg :Tmessage) ;message AmsgIndex;
其中,關(guān)鍵字Message 聲明此為一個(gè)消息管理方法。 AmsgIndex 為一整數常數,作 windows 消息動(dòng)態(tài)索引,當索引為 AmsgIndex 的消息傳遞至應用程序時(shí)便會(huì )執行 MsgPro過(guò)程。
5. 測試構件
測試構件,確信構件是按設計編譯和起作用的。這是構件開(kāi)發(fā)中非常關(guān)鍵的一步,為測試構件,要先寫(xiě)一個(gè)用作測試的應用程序,由于不能拉出構件選項板窗口上的構件,還必須人工創(chuàng )建一個(gè)構件。
6. 將新構件添加到構件選項板
當構件正常工作并令人感到滿(mǎn)意后,可添加到構件選項板上,從主菜單選擇Component | Install Component顯示一個(gè)Install Component 對話(huà)框,該對話(huà)框能夠添加構件到程序包。
二. 構件創(chuàng )建實(shí)例
下面要開(kāi)發(fā)的新構TnewLabel 是從TLabel 類(lèi)繼承來(lái)的,它與 TLabel 具有相似的焦點(diǎn)感應能力:當鼠標移到Tlabel 上時(shí),文字顏色發(fā)生改變;當鼠標離開(kāi)時(shí),顏色恢復。它還將增加一個(gè)EnterTextColor屬性以及 OnMouseLeave和OnMouseLeave事件。屬性 EnterTextColor中可以輸入鼠標進(jìn)入構件時(shí)文字的顏色, OnMouseEnter、 OnMouseLeave事件中則可輸入程序員自己的代碼來(lái)指定鼠標進(jìn)入和離開(kāi)構件時(shí)的動(dòng)作。
1. 選中Component菜單項中的 New Component選項,在 Ancestor Type 框填入Tlabel,在 Class Name框中填入 TnewLabel ,在 Palette Page框中填入 Samples,在 Unit File Name 框中填入 NewCom.pas ,然后單擊按鈕 Create Unit就進(jìn)入到代碼編輯狀態(tài)。
2. 使用 Tools菜單中Image Editor來(lái)創(chuàng )建編輯文件NewCom.dcr,為 TnewLabel類(lèi)建立位圖。
3. 增加新屬性EnterTextColor ,并為讀寫(xiě)屬性增加私有方法 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;
下一頁(yè)
【創(chuàng )建自己的Dephi構件】相關(guān)文章:
談變壓器構件和附件的檢修03-19
支持語(yǔ)音的教師上課點(diǎn)名系統的設計與實(shí)現DEPHI+SQL03-08
鋼筋混凝土構件保護層問(wèn)題探討03-26
試論建筑結構設計安全度與結構構件耐久性03-11
區域旅游經(jīng)濟基礎理論“緣板5+2學(xué)說(shuō)”構件分析03-21
農村小學(xué)師德師風(fēng)創(chuàng )建研究06-23
小學(xué)數學(xué)高效課堂的創(chuàng )建策略03-27
AutoCAD中圖形庫的創(chuàng )建和管理03-18
Windows 2000系統編程-進(jìn)程的創(chuàng )建12-04
- 試論如何在可信網(wǎng)絡(luò )中保證網(wǎng)絡(luò )可用的研究
- LabWindows/CVI的應用特點(diǎn)
- 創(chuàng )建平安校園
- SNS網(wǎng)絡(luò )中的若干問(wèn)題
- 文明校園創(chuàng )建報告
- 淺談無(wú)線(xiàn)傳感器網(wǎng)絡(luò )應用于深空探測的一些關(guān)鍵技術(shù)
- 淺談搜索引擎優(yōu)化的鏈接策略
- 淺析基于網(wǎng)絡(luò )的多媒體教學(xué)設備中央控制及管理系統的設計與實(shí)現
- 基于Vxworks實(shí)時(shí)操作系統的串口通信程序設計與實(shí)現
- 談?wù)撘姆治龇椒ǖ木W(wǎng)絡(luò )化發(fā)展和應用
- 文明創(chuàng )建總結
- 創(chuàng )建簡(jiǎn)歷自我評價(jià)
- 介紹自己文章
- 自己制作簡(jiǎn)歷
- 激勵自己文章
- 文明小區創(chuàng )建總結
- 巾幗文明崗創(chuàng )建總結
- 英文面試自己介紹
- 簡(jiǎn)歷介紹自己范文
- 有關(guān)介紹自己的文章