日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

不用注冊新部件就能增加新的辦法與屬性

不用注冊新部件就能增加新的辦法與屬性

更新時間:2022-05-16 文章作者:未知 信息來源:網絡 閱讀次數:

摘 要:不需要修改源代碼或在部件面板中注冊派生部件就能為部
關鍵字:delphi delphi3000 方法 派生 繼承&n
類 別:Object Pascal
  
  

有沒有辦法不需要修改源代碼或安裝派生部件就能增加新的方法和屬性?

增加新的方法和屬性
---------------------------------
有時我們要為已有的部件增加新的方法和屬性(或改變已有屬性的可視性)。一個方法是修改部件,但這意味著對它的package重新編譯,而且如果要其它人也編譯我們的應用程序,就要把我們的變動重新發布,這樣對方就很麻煩。有時我們不能這樣做,因為我們可能沒有源代碼。這樣的話。最好對部件進行派生,并加入新的屬性和方法。例如:
  type
    TEditX = class(TEdit)
    public
      function GetForeColor: TColor;
      procedure SetForeColor(color: TColor);
      property ForeColor: TColor read GetForeColor write SetForeColor;
    end;

這些方法可以按下例的方法實現。
  function TEditX.GetForeColor: TColor;
  begin
    Result := Font.Color;
  end;

  procedure TEditX.SetForeColor(color: TColor);
  begin
    Font.Color := Color;
  end;

強制轉換成新類
------------------------

我們無需安裝新部件或把它注冊到部件面板中或在應用程序中取代已有的控件(這樣會得不償失)。相反任何時候只要我們需要訪問新屬性和方法,我們可以把對象強制轉換(如Edit1)成我們的新類,例如:
  TEditX(Edit1).ForeColor := clRed;



  TEditX(Edit1).SetForeColor(clRed);

警告:只有在新類中加入新的屬性和靜態方法時才能把它強制轉換成派生類,但不能增加新的字域和新的虛方法或動態方法,雖然理論上你可以重載已有的虛方法。此外,已有屬性的可見性可以改變,就象"訪問隱藏屬性"文中講解的InplaceEditor例子。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 日本免费一区二区三区视频 | 欧美成人小视频 | 欧美乱妇高清无乱码视频在线 | 欧美日韩国产在线人成 | 日韩在线第三页 | 成人www视频 | 91免费国产在线观看尤物 | 欧美激情综合网 | 91久久夜色精品 | 日韩欧美一中字暮 | 热久久精品在线 | 欧美性猛交ⅹxxx乱大交按摩 | 天天干夜夜噜 | 国产成人不卡亚洲精品91 | 国产综合色香蕉精品五月婷 | 久久中文字幕综合不卡一二区 | 久久国产免费福利资源网站 | 日韩久久一区二区三区 | 午夜国产精品久久影院 | 日本资源在线观看 | 成人网男女啪啪免费网站 | 二区在线播放 | 久久免费精品视频 | 午夜免费小视频 | 扬思敏一级毛片在线视频 | 天天做天天爱夜夜想毛片 | 天天躁日日躁狠狠躁中文字幕老牛 | 欧美地区一二三 | 国产精品久久久久久影视 | 亚洲91在线| 亚洲精美视频 | 日本免费网站 | 99精品免费久久久久久久久日本 | 精品国产三级a∨在线观看 精品国产三级a在线观看 | 91中文| 站长推荐国产午夜免费视频 | 分享一个无毒不卡的网站 | 日韩色影院 | 天天爱夜夜操 | 亚洲 中文 欧美 日韩 在线人 | 亚洲精品香蕉一区二区在线观看 |