TCollection 是TCollectionItenm對象的一個容器。
類關系TObject→TPersistent
每一個TCollection都擁有一組TCollectionItem對象。
在其Items屬性數組中,TCcllection保存集合項目的一個下標。Count 屬性包含了集合的項目數量。使用Add和Clear方法可以向集合中加入項目和從集合中刪除項目。
從TCollection繼承的對象能夠包含從TCollectionItem繼承的對象。例如,一個TDBGridColumns對象包含TColumn對象,這兩個類被TDBGrid對象用於表示網格。下表列出了每一個TCollection對象的子類與相應的TCollectionltem對象的子類以及使用控制組件。其中,TQuryTableProducer和TWehDispetcher使用的控件繼承自TWinContril對象。
TCollection子類 TCollectionItem子類 控件組件
TCheckConstraints TCheckConstraint 使用Tfield對象的控件
TCookieCollection TCookie HTTP響應對象
TCoolBands TCoolBand TCoolBar
TDBGridColumns TColumn TDBGrid
TDependencies TDependency TService
TDisplayDims TDisplayDim TDecisionGrid
TFieldDefs TfieldDef TDatsSet
THeaderSections THeaderSection THeaderControl
TIndexDefs TIndexDef TTable
THTMLTableColumns THTMLTableColumn TQueryTableProducer
TListColumns TListColumn TListView
TSuatusPanels TSuatuspanel TStatusBar
TWebActionItems TwebActionitem TwebDispatcher
使用TCollection和TCollectionitem子類的控件,都有一個擁有一個集合5的公開屬性(例如,TStatusBar的Panels屬性擁有一個TStatusPanels)。一個標准的屬性編輯器,從種屬上說被認為是集合編輯器,它被授引自Object Inspector,以編輯集合中的項目。
屬性列表
Count 返回集合中的項目數量
ItemClass 表示集合項目有種類
Items 提供對集合中項目的變址訪問
方法列表
~TCollection 刪除集合及其內的每一項目
Add 創建一新對象實例並加 入到Items屬性數組中
Assign 將另一集合有內容復制到執行該方法的對象中
Bcginupdate 使屏幕更新暫停
Clear 從集合中刪除所有項目
EndUpdate 使屏幕能夠重新進行更新
FindItemID 返回ID參數指定的項目
Insert 創建TCollectionItem對象並加入到Items屬性數組中
TCollection 創建並初始化一個集合
屬性
TCollection::Count
用於返回集合中的項目數量。
__property int Count = {read=getCount,nodefanlt};
Count屬性包含了Items屬性數組中的項目數量。因為Items屬性數組的下標從0開始,因此,Count屬性數值總是比Items屬性數組最後一個成員的下標大1。
TCollection::ItemClass
表示集合項目的類。
__property int count = {read =GetXount,nodefauit};
ItemClass返回屬於集合的項目的類(繼承自TColliectionItem對象)。例如,在TCollection對象THeaderSections子類有一個實例中,IetmClass屬性返回THeaderSection .
TCollection::Items
提供對集合中項目的變址訪問。
__property TCollectionItem*irems{int Index}={read =GetItem,write=SetItem};
使用Items屬性可以訪問集合中的單個項目。Index參數的數值對應於TCollectionItem對象的Index屬性。它表示項目 在集合中有位置。
方法
TCollection::~TCollection
刪除集合及其內的每一個項目 。
__fastcall virtual~TCollection(void);
不要直接調用~TCollection 用delete會自動調用~TCollection
~TCollection調用Clear方法,釋放在Items屬性數組中每一個被子引用的項目,然後刪除集合本身。
TCollection::Add
創建一個新的TCollectionItem對象實例,並將其加入到Items屬性數組中。
TCollectionItem* __fasteall Add(void);
調用Add可以在集合中創建一個項目。新項目被放置在Items屬性數組的結尾處。Add返回新集合項目。
TCollection::Assign
將另一個集合的內容復制到執行該方法的對象。
virtual void __fastcall Assign (TPersistemt*Source);
使用Assign,可以將一個TCollection對象實例的內容復制至另一個TCollection對象。Assign方法刪除目的集合(即執行該方法的對象)中的所有項目,然後加入由Source參數指定的集合的Items屬性數組中的每一個項目的復制。
TCollection::BeginUpdate
使屏幕更新暫停。
void __fastcall BeginUpdate(void);
BeginUpdate使屏幕更新暫停,直至調用了EndUpdate方法。使用BeginUpdate可以加速進行處理,並且當向一個集合中加入項目或從一個集合中刪除項目時,可以避免閃爍。
TCollection::EndUpdate
從集合中刪除所有項目。
void __fastcall CIear(void);
CIear清空Items屬性數組並刪除每一個TCollectionItem對象。
TCollection::EndUpdate
使屏幕能夠重新進行更新。
void __fastcall EndUpdate(void);
使用EndUpdate,可以使以BeginUpdate方法關閉的屏幕能夠重新進行更新。
TCollection::FindItemID
返回ID參數指定的項目。
TCollectionItem* __fastcall FindItemID(int ID);
FindItemID方法返回集合中的項目,該項目的ID屬性被作為一個參數傳遞。如果沒有ID參數指定的項目,則FindItemID返回NULL.
TCollection::Insert
創建一個新的TCollectionItem對象實例,並將其加入到Items屬性數組中。
TCollectionItem* __fastcall Insert(int Index);
調用 Insert,可以在集合中的一個指定位置處加入一個新項目。在Items屬性數組中已經存在的從指定位置開始的項目將向上移動。Insert返回新集合項目。
TColletion::TCollection
創建並初始化一個集合。
__fastcall TCollection (Sysem::TMetaCIass*ItemCIass);
不要直接調用 TCollection。用new會返回新集合的一個間接引用。
TCollection方法取一個TCollectionItem子類名作為一個參數。該參數確定了由Add方法創建的項目的類。