|
제가 말빨이 별루 좋지않아서. 간단한 컬랙션 예제 입니다.
Point를 저장하기 위해서 만든 클래스인데..^^
class TPointItem : public TCollectionItem
{
private:
int Fx;
int Fy;
int FGroupIndex;
__published:
__property int x = { read=Fx, write=Fx };
__property int y = { read=Fy, write=Fy };
__property int GroupIndex = { read=FGroupIndex, write=FGroupIndex };
};
//------------------------------------------------------------------------
class TPoints : public TCollection
{
typedef Classes::TCollection inherited;
private:
HIDESBASE TPointItem* __fastcall GetItem(int Index);
HIDESBASE void __fastcall SetItem(int Index, TPointItem* Value);
protected:
public:
__fastcall TPoints() : TCollection(__classid(TPointItem)){ };
HIDESBASE TPointItem* __fastcall Add(void);
__published:
__property TPointItem* Items[int Index] = {read=GetItem, write=SetItem};
};
//------------------------------------------------------------------------
//=================================================================
TPointItem* __fastcall TPoints::GetItem(int Index)
{
return (TPointItem*)(inherited::GetItem(Index));
}
//---------------------------------------------------------------------------
void __fastcall TPoints::SetItem(int Index, TPointItem* Value)
{
inherited::SetItem(Index, (TCollectionItem*)Value);
}
//---------------------------------------------------------------------------
TPointItem* __fastcall TPoints::Add(void)
{
return (TPointItem*)inherited::Add();
}
//---------------------------------------------------------------------------
조금 도움이 되셨으면하내요..
잘모르시겠으면..
TCoolBar 소스를 열어서 보시면 쉽게 아실수 있습니다.
Collection예제로는 TCollBar가 잴로 좋은거 같군요..
From Zeratul
|