freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

delphi自定義部件開發(fā)一(編輯修改稿)

2024-09-26 10:00 本頁面
 

【文章內(nèi)容簡介】 程 RegisterComponents,過程 RegisterComponents 帶兩個(gè)參數(shù):Component Palette 的頁名和部件類型集。例如,注冊名為 TNewComponent的部件,并將其置于 Component Palette 的 Samples 頁,在程序中使用下列過程: procedure Register。 begin RegisterComponents(39。Samples39。, [TNewComponent])。 end。 一旦注冊完畢, Delphi 自動(dòng)將部件圖標(biāo)顯示在 Component Palette 上。 2. 使用 Component Expert(部件專家) 你能使用 Component Expert 創(chuàng)建新部件。使用 Component Expert 簡化了創(chuàng)建新部件最初階段的工作,因?yàn)槟阒恍杳枋鋈拢? ● 新部件的名字 ● 祖先類型 ● 新部件要加入的 Component Palette 頁名 Component Expert 執(zhí)行了手工方式的相同工作: ● 建立新的庫單元 ● 繼承得到新部件對象 ● 注冊部件 但 Component Expert 不能在已有單元中增加部件。 可選擇 File/New... ,在 New Items 對話框中選擇 Component,就打開Component Expert 對話框。 填完 Component Expert 對話框的每一個(gè)域后,選擇 OK。 Delphi 建立包括新部件和 Register 過程的庫單元,并自動(dòng)增加 uses 語句。 你應(yīng)該立刻保存庫單元,并給予其有意義的名字。 . 測試未安裝的部件 在將新部件安裝在 Component Palette 之前就能測 試部件運(yùn)行時(shí)的動(dòng)作。這對于調(diào)試新部件特別有用,而且還能用同樣的技術(shù)測試任意部件,無論該部件是否出現(xiàn)在 Component Palette 上。 從本質(zhì)上說,你通過模仿用戶將部件放置在窗體中的 Delphi 的動(dòng)作來測試一個(gè)未安裝的部件。 可按下列步驟來測試未安裝的部件 1. 在窗體單元的 uses 語句中加入部件所在單元的名字 2. 在窗體中增加一個(gè)對象域來表示部件 這是自己增加部件和 Delphi 增加部件的方法的主要不同點(diǎn)。 你將對象域加在窗體類型聲明底部的 public 部分。 Delphi 則會(huì)將對象域 加在底部聲明的上面。 你不能將域加在 Delphi 管理的窗體類型的聲明的上部。在這一部分聲明的對象域?qū)⑾鄳?yīng)在存儲(chǔ)在 DFM 文件中。增加不在窗體中存在的部件名將產(chǎn)生 DFM文件無效的錯(cuò)誤。 3. 附上窗體的 OnCreate 事件處理過程 4. 在窗體的 OnCreate 處理過程中構(gòu)造該部件 當(dāng)調(diào)用部件的構(gòu)造過程時(shí),必須傳遞 Owner 參數(shù)(由 Owner 負(fù)責(zé)析構(gòu)該部件)一般說來總是將 Self 作為 Owner 的傳入?yún)?shù)。在 OnCreate 中, Self 是指窗體。 5. 給 Component 的 Parent 屬性賦值 設(shè)置 Parent 屬性往往是構(gòu)造部件后要做的第一件事時(shí)。 Parent 在形式上包含部件,一般來說 Parent 是窗體或者 GoupBox、 Panel。通常給 Parent 賦與Self,即窗體。在設(shè)置部件的其它屬性之前最好先給 Parent 賦值。 6. 按需要給部件的其它屬性賦值 假設(shè)你想測試名為 TNewComponent 類型的新部件,庫單元名為 NewTest。窗體庫單元應(yīng)該是這樣的; unit Unitl。 interface uses SysUtils, Windows, Messages, Classes, Grophics, Controls, Forms, Dialogs, Newtest。 type Tforml = class(TForm) procedure FormCreate(Sender: TObject)。 private { private 申 明 } public { public 申 明 } NewComponent: TNewComponent。 end。 var Forml: TForml。 implementation {$R *.DFM } procedure ( Sender: TObject ) 。 begin NewComponent := ( Self )。 := Self。 := 12。 end。 end. 編寫部件的面向?qū)ο蠹夹g(shù) 部件使用者在 Delphi 環(huán)境中開發(fā),將遇到在包含數(shù)據(jù)和方法的對象。他們將在設(shè)計(jì)階段和運(yùn)行階段操作對象,而編寫部件將比他 們需要更多的關(guān)于對象的知識(shí),因此,你應(yīng)當(dāng)熟悉 Delphi 的面向?qū)ο蟮某绦蛟O(shè)計(jì)。 1. 建立部件 部件用戶和部件編寫者最基本的區(qū)別是用戶處理對象的實(shí)例,而編寫者創(chuàng)建新的對象類型。這個(gè)概念是面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。例如,用戶創(chuàng)建了一個(gè)包含兩個(gè)按鈕的窗體,一個(gè)標(biāo)為 OK,另一個(gè)標(biāo)為 Cancel,每個(gè)都是 TButton 的實(shí)例,通過給 Text、 default 和 Cancel 等屬性賦不同的值,給 OnClick 事件賦予不同的處理過程,用戶產(chǎn)生了兩個(gè)不同的實(shí)例。 建立新部件一般有兩個(gè)理由 ● 改變類型的缺省情況,避 免反復(fù) ● 為部件增加新的功能 目的都是為了建立可重用對象。如果從將來重用的角度預(yù)先計(jì)劃和設(shè)計(jì),能節(jié)省一大堆將來的工作。 在程序設(shè)計(jì)中,避免不必要的重復(fù)是很重要的。如果發(fā)現(xiàn)在代碼中一遍又一遍重寫相同的行,就應(yīng)當(dāng)考慮將代碼放在子過程或函數(shù)中,或干脆建立一個(gè)函數(shù)庫。 設(shè)計(jì)部件也是這個(gè)道理,如果總是改變相同的屬性或相同的方法調(diào)用,那應(yīng)創(chuàng)建新部件。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1