<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如鵬網 大學生計算機學習社區

    CowNew開源團隊

    http://www.cownew.com 郵件請聯系 about521 at 163.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks
    ?

    二、控件開發縱覽

    ? 通過開發上邊這個控件,我們已經對Delphi控件開發有了基本的認識。下面我們將系統的講述一下控件開發的知識。

    制作控件第一件事就是選擇適當的 Delphi對象類型作為父對象,以派生新的對象。子對象可以繼承父對象的全部非 private部件,但不能擺脫不需要的部件。因此,所選父對象應盡可能多地包含子對象所需的屬性、事件和方法,但不應包含子對象不需要的東西。Delphi必須從Tcomponent或Tcomponent的子類派生。TComponent是所有 Delphi控件的基點,但若直接從 TComponent 派生新控件,很多東西就需要自己從頭做起。一般只有非可視控件才直接從 TComponent派生。 Delphi提供了若干專門用于制作控件(可視控件)的對象類型,都是從 TControl和 TWinControl派生而來。

    TControl的子類型用于非窗口式控件, TWinControl的子類型則用于窗口式控件。除非特殊需要,一般不直接從 TControl和TWinControl派生新控件,而是從其子類型派生。這樣可以充分利用原有的屬性、事件和方法,減少很多工作量。在這些控件類型中,非通用的屬性、事件和方法都聲明為 protected。這樣可以禁止控件用戶訪問,又能被子類型繼承和修改。在新控件中,可以簡單地把繼承來的屬性和事件重新聲明為 published,使控件用戶能在設計期通過對象編輯窗口訪問,也可以進而修改屬性的默認值和讀寫方式,或是重載( override)事件處理子過程和其他控件方法,以修改其中的程序代碼。重聲明可以放寬訪問權限,但不能相反,例如,不可能把 published屬性重聲明為 private或 protected。

    ?Delphi控件也是Delphi的類,所有的控件都有特定的結構。一般控件包括三大組成部分:屬性、方法和事件,下面先介紹初學控件開發的最難懂的屬性部分,其他部分我們將在以后章節為大家介紹。

    屬性主要部分就是屬性的讀寫方法(或讀寫字段)。前面的例子用的是讀寫字段,也就是對屬性的讀寫都通過對字段的讀寫來完成。下面為大家講解一下讀寫方法的使用方法:

    TmyComponent = class(TComponent)

    Private

    ? Fcount: Integer;

    ? Procedure SetCount(Avalue: Integer);

    Pulbished

    ? Property Count: Integer read Fcount write SetCount;

    End;

    這個例子中當執行MyComponent1.Count := 1;這樣的代碼時,將會導致SetCount方法執行,并且參數Avalue被指定為1;當執行 I := MyComponent1.Count;方法時,會將 Fcount的值返回給I。

    屬性的聲明語法允許屬性聲明的Read和Write部分用訪問方法取代對象私有數據域。屬性的讀方法是不帶參數的函數,返回同屬性相同類型的值。通常讀方法以Get開頭。屬性的寫方法總是帶一個參數的過程。寫方法常常以Set開頭。

    思考題:

    1、? 如何為控件添加屬性?

    2、? TwinControl類派生的控件的特點是什么?

    posted on 2005-10-21 23:24 CowNew開源團隊 閱讀(2848) 評論(1)  編輯  收藏

    評論

    # re: Delphi控件開發淺入深出(二) 2008-01-13 08:34 lob
    學習ing  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: a在线观看免费网址大全| 亚洲国产精品日韩av不卡在线| 亚洲AV第一成肉网| 国产成人精品免费视频大| 四虎影视免费永久在线观看| 亚洲中字慕日产2021| 久草视频免费在线| 亚洲日本久久久午夜精品| 日韩av无码成人无码免费| 亚洲香蕉久久一区二区 | 亚洲免费视频网址| 久久久99精品免费观看| 亚洲av永久无码精品国产精品| 最近更新免费中文字幕大全| 亚洲国产精品无码久久久秋霞2| 成全高清在线观看免费| 久久亚洲日韩精品一区二区三区| 男人都懂www深夜免费网站| 亚洲电影免费观看| 四虎影视www四虎免费| 在线播放亚洲精品| 亚洲熟妇av一区二区三区| 免费视频成人手机在线观看网址| 亚洲国产精品一区二区第一页| 59pao成国产成视频永久免费| 亚洲嫩草影院在线观看| 午夜电影免费观看| 日日狠狠久久偷偷色综合免费| AV在线播放日韩亚洲欧| 久久A级毛片免费观看| ass亚洲**毛茸茸pics| 免费亚洲视频在线观看| 免费高清国产视频| 33333在线亚洲| 亚洲成av人片天堂网老年人| 免费91麻豆精品国产自产在线观看 | 福利免费在线观看| 亚洲一级片在线播放| 亚洲成A人片在线观看无码3D| a毛片免费全部播放完整成| 亚洲一区中文字幕在线观看|