全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1136
推到 Plurk!
推到 Facebook!

自己寫一個VCL如何使用 TCollection 及TCollectionItem

尚未結案
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-04 17:20:53 IP:61.219.xxx.xxx 未訂閱
請教各位前輩: 我自己寫一個VCL內容要用到 TCollection 及TCollectionItem 來作可以多個Item , 我看了 TCustomStatusBar 的 Panels 看了好久都看沒有 能否請各位前輩給一個方向還是在那有範例 因 TCustomStatusBar內的程式太多, 不知那一個是必要的 是否有前輩能告知,最主要是那一部份?? 還是能給個方向!! 非常非常的謝謝你,因為有你這世界變的更美好 ☆ ^_^ ☆ °∴°﹒☆°.﹒‧°∴°﹒°.﹒‧°∴°﹒ ﹒‧°∴°﹒☆°.﹒‧°∴°﹒°.﹒‧°∴°﹒﹒‧°∴°﹒☆
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-05 09:18:24 IP:218.80.xxx.xxx 未訂閱
delphi vcl的Source是最好的老师。 一般CollectionItem从TCollectionItem继承,要override它的一个function GetDisplayName: string;override;它是在Object Inspector上此Item显示的文字。它的Collection属性可以访问到它在那个Collection里。如:
  TUnReplaceCom=class(TCollectionItem)
  private
  public
    function GetDisplayName: string;override;
  published
  end;
Collection一般从TOwnedCollection继承,为了方便访问Item,一般重写Items,如:
  TReplaceComs=class(TOwnedCollection)
  private
    function GetItem(index: integer): TReplaceCom;
    procedure SetItem(index: integer; const Value: TReplaceCom);
  public
    function FindCom(ACom:TComponent):TReplaceCom;
    property Items[index:integer]:TReplaceCom read GetItem write SetItem;
  end;
使用Collection时,它的Create第二个参数带Item的Class,如:
constructor TAcroMultiReplacer.Create(AOwner: TComponent);
begin
  inherited;
  FReplaceComs:=TReplaceComs.Create(Self,TReplaceCom);
久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
系統時間:2024-06-24 3:46:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!