19.2.1.3 建立新部件的方法
建立新部件的方法有兩種:
● 手工建立部件
● 使用Component Expert
一旦完成建立后,就得到所需的最小功能單位的部件,并可以安裝在Component Palette上。安裝完后,你就能將新部件放置在窗體窗口,并可在設(shè)計(jì)階段和運(yùn)行階段進(jìn)行測(cè)試。你還能為部件增加新的特征、更新選擇板、重新測(cè)試。
1. 手工創(chuàng)建部件
顯然創(chuàng)建部件最容易的方法是使用Component Expert。然而,你也能通過手工來(lái)完成相同步驟。
手工創(chuàng)建部件需要下列三步:
● 創(chuàng)建新的庫(kù)單元
● 繼承一個(gè)部件對(duì)象
● 注冊(cè)部件
、 創(chuàng)建新的庫(kù)單元
庫(kù)單元是Object Pascal代碼的獨(dú)立編譯單位。每一個(gè)窗體有自己的庫(kù)單元。大多數(shù)部件(在邏輯上是一組)也有自己的庫(kù)單元。
當(dāng)你建立部件時(shí),你可以為部件創(chuàng)建一個(gè)庫(kù)單元,也可將新的部件加在已有的庫(kù)單元中。
① 為部件創(chuàng)建庫(kù)單元,可選擇File/New... ,在New Items對(duì)話框中選擇Unit,Delphi將創(chuàng)建一個(gè)新文件,并在代碼編輯器中打開它
② 在已有庫(kù)單元中增加部件,只須選擇File/OPen為已有庫(kù)單元選擇源代碼。在該庫(kù)單元中只能包含部件代碼,如果該庫(kù)單元中有一個(gè)窗體,將產(chǎn)生錯(cuò)誤
、 繼承一個(gè)部件對(duì)象
每個(gè)部件都是TComponent的后代對(duì)象。也可從TControl、TGraphicControl等繼承。
為繼承一個(gè)部件對(duì)象,要將對(duì)象類型聲明加在庫(kù)單元的interface部分。
例如,建立一個(gè)最簡(jiǎn)單的從TComponent直接繼承非可視的部件,將下列的類型定義加在部件單元的interface部分。
type
TNewComponent=class(TComponent)
……
end;
現(xiàn)在你能注冊(cè)TNewComponent。但是新部件與TComponent沒什么不同,你只創(chuàng)建了自己部件的框架。
、 注冊(cè)部件
注冊(cè)部件是為了告訴Delphi什么部件被加入部件庫(kù)和加入Component Palette的哪一頁(yè)。
為了注冊(cè)一個(gè)部件:
、 在部件單元的interface部分增加一個(gè)Register過程。Register不帶任何參數(shù),因此聲明很簡(jiǎn)單:
procedure Register;
如果你在已有部件的庫(kù)單元中增加部件,因?yàn)橐延蠷egister 過程,因此不須要修改聲明。
、 在庫(kù)單位的implementation部件編寫Register過程為每一個(gè)你想注冊(cè)的部件調(diào)用過程RegisterComponents,過程RegisterComponents帶兩個(gè)參數(shù):Component Palette的頁(yè)名和部件類型集。例如,注冊(cè)名為TNewComponent的部件,并將其置于Component Palette的Samples頁(yè),在程序中使用下列過程:
procedure Register;
begin
RegisterComponents('Samples', [TNewComponent]);
end;
一旦注冊(cè)完畢,Delphi自動(dòng)將部件圖標(biāo)顯示在Component Palette上。
2. 使用Component Expert(部件專家)
你能使用Component Expert創(chuàng)建新部件。使用Component Expert簡(jiǎn)化了創(chuàng)建新部件最初階段的工作,因?yàn)槟阒恍杳枋鋈拢?/P>
● 新部件的名字
● 祖先類型
● 新部件要加入的Component Palette頁(yè)名
Component Expert執(zhí)行了手工方式的相同工作:
● 建立新的庫(kù)單元
● 繼承得到新部件對(duì)象
● 注冊(cè)部件
但Component Expert不能在已有單元中增加部件。
可選擇File/New... ,在New Items對(duì)話框中選擇Component,就打開Component Expert對(duì)話框。
填完Component Expert對(duì)話框的每一個(gè)域后,選擇OK。Delphi建立包括新部件和Register過程的庫(kù)單元,并自動(dòng)增加uses語(yǔ)句。
你應(yīng)該立刻保存庫(kù)單元,并給予其有意義的名字。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |