|
콤포넌트들은 Name속성이 있습니다.
생성 하실때 Name에 고유의 이름을 정해주고
폼에서 FindComponent로 찾아서 해당 콤포넌트를 찾은 후 delete하시면 됩니다.
아레 소스를 조금만 응용하시면 될실 겁니다.
[예]
//---------------------------------------------------------------------------
// Form1 에 선언
int ItemCount;
//---------------------------------------------------------------------------
// 소스 부분
//---------------------------------------------------------------------------
// 생성
void __fastcall TForm1::btnAddClick(TObject *Sender)
{
ItemCount++;
TEdit* pEdit = new TEdit(this);
pEdit->Left = 10;
pEdit->Top = 10 + ItemCount*(Edit->Height+4);
pEdit->Name = UnicodeString().sprintf("IP_%02d", ItemCount);
pEdit->Tag = ItemCount;
pEdit->Parent = this;
}
//---------------------------------------------------------------------------
// 삭제
void __fastcall TForm1::btnDeleteClick(TObject *Sender)
{
TEdit* pEdit;
pEdit = (TEdit*)FindComponent(UnicodeString().sprintf("IP_%02d", ItemCount));
if(pEdit != NULL) {
delete pEdit;
ItemCount--;
}
}
ㄴㅇㅁ 님이 쓰신 글 :
: 폼에 저렇게 ip추가 버튼이있구요
:
: 저버튼을 누르면 그림상단에있는 창이 하나가 추가되는겁니다.(아이피,포트,삭제버튼)
:
: 그리고 그추가된창을 삭제하고싶을때 삭제버튼을 누르면 다시 샥 사라지게 하고싶은데요
:
: 추가된 창들이 동적생성된 애들이라 소스상에서 네임을 붙여줘도 버튼클릭이벤트안에서
:
: RemoveControl()로 삭제 해주려고해도 언디파인 심볼이라구 나오는데 이거 어떻게하면
:
: 지워줄수있을까요??
|