<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開源團隊 閱讀(2850) 評論(1)  編輯  收藏

    評論

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


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品福利你懂| 国产午夜亚洲不卡| 在线天堂免费观看.WWW| 国产在线jyzzjyzz免费麻豆| 妞干网免费视频观看| 国产91久久久久久久免费| 亚洲自偷自偷偷色无码中文| 亚洲AV无码成人精品区蜜桃| 亚洲一区二区三区久久久久| 国产亚洲漂亮白嫩美女在线| jizz免费一区二区三区| 91精品导航在线网址免费| 免费观看的a级毛片的网站| 亚洲午夜福利精品无码| 国产91在线|亚洲| 国语成本人片免费av无码| 亚洲爆乳精品无码一区二区三区 | 亚洲AV无码专区在线厂| a毛片免费观看完整| 青草草色A免费观看在线| 亚洲国产一二三精品无码| 亚洲一日韩欧美中文字幕在线| 国产精品免费大片一区二区| 久久精品国产亚洲综合色| 日本xxxx色视频在线观看免费| 亚洲国产电影av在线网址| 亚洲中文字幕久久精品无码A | 国产成人免费a在线视频色戒| 亚洲欧洲日产v特级毛片| a在线观看免费视频| 四虎影视精品永久免费网站| 人成电影网在线观看免费| 免费的一级黄色片| 一级中文字幕乱码免费| 无码专区一va亚洲v专区在线| 亚洲一区二区三区无码国产| 成人永久免费福利视频网站| 亚洲日产乱码一二三区别| 国产国产人免费视频成69堂| 久久精品国产亚洲av天美18 | 91亚洲导航深夜福利|