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

正文內(nèi)容

delphi自定義部件開發(fā)(二)-全文預(yù)覽

  

【正文】 elphi 使用方法指針實(shí)現(xiàn)事件。例如,按鈕 Buttonl有 OnClick方法,缺省情 況下 Delphi 在包含該按鈕的窗體中產(chǎn)生一個(gè)為 ButtonlClick 的方法,并將其賦給 OnClick。通過使用事件,應(yīng)用開發(fā)者不需要改變部件本身就能定制部件的行為。 ● 第三個(gè)表達(dá)式介于第一個(gè)和第二個(gè)表達(dá)式之間 它為部件 TMenu的 TMenuItem 類型的所有屬性注冊(cè)了屬性編輯器。 end。, (ComponentNamePropety)。該過程接受四個(gè)參數(shù): ● 要編輯的屬性的類型信息的指針。 end?;蛘哝I入,或者從列表中選擇定編輯器。例如Object Inspector 窗口需要知道屬性 是否有子屬性,或者是否能顯示可能取值的列表。 finally 。下面是 TColorProperty 的 Edit 方法 procedure var ColorDialog: TColorDialog。一個(gè)典型的例 子是 Font 屬性,用戶可以找開 Font 對(duì)話框來(lái)選擇字體的屬性。 SetOrdValue (L)。 proceduve TIntegerPropertySetValue (Const Value: string)。 屬性編輯器的 SetValue 接收 Object Inspector 窗口 String 類型的參數(shù),并將其轉(zhuǎn)換成合適的類型,并設(shè)置 屬性值。這些虛方法是GetValue 和 SetValue,你的屬性編輯器也能繼承了一系列的方法用于讀和寫不同類型的值。 override。 override。編寫屬性編輯器需要下列五個(gè)步驟: ● 繼承一個(gè)屬性編輯器對(duì)象 ● 將屬性作為文本編輯 ● 將屬性作為整體編輯 ● 描述編輯器屬性 ● 注冊(cè)屬性編輯器 ⑴ 繼承屬性編輯器對(duì)象 DsgnIntf 庫(kù)單元中定義了幾種屬性編輯器。 Fistvue := True。 published property Istrue: Boolean read FIsTrue write FIsTrue default True。如果是第一次聲明屬性,則沒有必要加 nodefault 指令,因?yàn)闆]有 default 指令即表示如此。如果不描述缺省值, Delphi 將總是保存該屬性值。 ⑸ 缺省屬性值 當(dāng)聲明一個(gè)屬性,能有選擇地聲明屬性的缺省值。 begin if value FCount then begin FCount := Value。參數(shù)的值采用設(shè)置屬性的新值,因此,寫方法需要執(zhí)行在內(nèi)部存儲(chǔ)數(shù)據(jù)中寫的操作。 ② 寫方法 屬性的寫方法總是只帶一個(gè)參數(shù)的過程。 ① 讀方法 屬性的讀方法是不帶參數(shù)的函數(shù),并且返回同屬性相同類型的值。 { 聲明 保存屬性值的域 } published { 使屬性在設(shè)計(jì)時(shí)可用 } property ReadOnly: Boolean read FReadOnly write FReadOnly。 ⑶ 直接訪問 使屬性數(shù)據(jù)可用的最簡(jiǎn)單的辦法是直接訪問。 { 讀方法 } procedure SetCount(ACount: Integer)。 type TSampleComponent=class(TWinControl) published property Ctl3D。如果你繼承的是抽象類,則繼承的屬性是 protected 或public,但不是 published。 對(duì)象類型 作為對(duì)象的屬性本身有屬性編輯器,如果對(duì)象有自己的 published 屬 性,用戶在 Object Inspector 中通過展開對(duì)象屬性列,可以獨(dú)立編輯它們, 對(duì)象類型的屬性必須從 TPersistent 繼承。 你也能在注冊(cè)部件時(shí)描述不同的屬性編輯器。 2. 屬性的類型 屬性可以是函數(shù)能返回的任何類型,因?yàn)閷傩缘膶?shí)現(xiàn)可以使用函數(shù)。用戶可以給屬性賦值或讀值,就好象屬性是對(duì)象的域。 Delphi 部件編程 創(chuàng)建屬性 屬性( Property)是部件中最特殊的部分,主要因?yàn)椴考脩粼谠O(shè)計(jì)時(shí)可以看見和操作它們,并且在交互過程中能立即得到返回結(jié)果。 從部件使用者的觀點(diǎn)看,屬性象變量。 ⑵ 屬 性能隱藏詳細(xì)的實(shí)現(xiàn)細(xì)節(jié) ⑶ 屬性能引起簡(jiǎn)單地賦值之外的響應(yīng),如觸發(fā)事件 ⑷ 用于屬性的實(shí)現(xiàn)方法可以是虛擬方法,這樣看似簡(jiǎn)單的屬性在不同的部件中,將實(shí)現(xiàn)不同的功能。 Object Inspector 將按不同的類型決定其出現(xiàn)的方式。 集合類型 集合類型出現(xiàn)在 Object Inspector 窗口中時(shí)正如一個(gè)集合,展開后,用 戶通過將集合元素設(shè)為 True 或 False 來(lái)選擇。當(dāng)你從已有部件繼承時(shí),新部件將繼承祖先類型的所有屬性。下面的代碼演示如何將 Ctl3D 聲明為 published,使之在設(shè)計(jì)時(shí)可被訪問。下面是典型的屬性聲明: type TYourComponent=class(TComponent) ? private FCount: Integer { 內(nèi)部存儲(chǔ)域 } function GetCount: Integer。 ⑵ 內(nèi)部數(shù)據(jù)存儲(chǔ) 關(guān)于如何存儲(chǔ)屬性的數(shù)據(jù)值, Delphi 沒有特別的規(guī)定,通常 Delphi 部件遵循下列規(guī)定: ● 屬性數(shù)據(jù)存儲(chǔ)在對(duì)象的數(shù)據(jù)域處 ● 屬性對(duì)象域的標(biāo)識(shí)符以 F 開頭,例如定義在 TControl 中的屬性 FWidth ● 屬性數(shù)據(jù)的對(duì)象域應(yīng)聲明在 private 部分 后代部件只應(yīng)使用繼承的屬性自身,而不能 直接訪問內(nèi)部的數(shù)據(jù)存儲(chǔ)。 下面的部件聲明演示了怎樣在屬性定義的 read 和 write 部分都采用直接訪問: type TYourComponent=class(TComponent) ? private { 內(nèi)部存儲(chǔ)是私有 } FReadOnly: Boolean。不管屬性是如何實(shí)現(xiàn)它的 read 和 write 部分,方法實(shí)現(xiàn)應(yīng)當(dāng)是private,后代部件只能使用繼承的屬性訪問。如果你不定義 read 方法,則屬性是只寫的。例如,屬性 Count 的寫方法名是 SetCount。 下面是一個(gè)簡(jiǎn)單的整數(shù)屬性 Count 的 寫方法: procedure ( value: Integer)。 end。 Delphi 使用聲明缺省值決定是否將屬性值存在 DFM 文件中。如果繼承的屬性已有一個(gè),則設(shè)立沒有缺省值的屬性的方法是在屬性聲明后加 nodefault 指令。 Overvide。 begin inherited Create ( Aowner)??梢宰?cè)專門為自定義部件的屬性設(shè)計(jì)的編輯器,也可設(shè)計(jì)用于所有某類型的屬性。 表 屬性編輯器的類型 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 類型 編輯的屬性 ───────────────────────────────────── TOrdinalProperty 所有有序的屬性(整數(shù)、字符、枚舉) TIntegerProperty 所有整型,包括子界類型 TCharProperty 字符類型或字符子集 TEnumProperty 任何枚舉類型 TFloatProperty 所有浮點(diǎn)數(shù) TStringProperty 字符串,包括定長(zhǎng)的字符串 TSetElementProperty 集合中的獨(dú)立元素 TSetElementProperty 所有的集合,并不是直接編輯集合類型,而是展開成一列 集合元素屬性 TClassProperty 對(duì)象,顯示對(duì)象名,并允許對(duì)象屬性的展開 TMethodPropevty 方法指針,主要指事件 TComponentProperty 相同窗體中的部件,用戶不能編輯部件的屬性, 但能指向兼容的部件 TColorProperty 部件顏色,顯示顏色常量,否則顯示十六進(jìn)制數(shù) TFontNameProperty 字體名稱 TFontProperty 字體,允許展開字體的屬性或彈出字體對(duì)話框 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 下面是 TFloatPropertyEditor 的定義: type TFloatProperty=Class(TPropertyEditor) public fu
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1