|
제 코드의 개념을 적어보죠.
1.Form1->Edit1에 정수 입력.
2.Form2에서 Edit DBEdit, Label 들을 동적 생성.(FormActivate 이벤트에서)
문제점 : 첨 생성은 되는데 런타임중에 Form1->Edit1 수정하고 Form을 다시 열면(활성화)
이전에 생성됐던 Edit DBEdit, Label 들과 이름이 충동합니다.
당연 기존 것들의 이름을 동적 생성하였으므로...
창을 닫아도 일단 값들은 유지해야 하므로 바로 Form2가 닫힐 때
이전 생성된 컴포넌트들을 삭제할 수는 없습니다.
따라서 Form1->Edit1을 수정하고 버튼을 눌러 Form2->Show()하면
이전에 생성되었던 것들을 삭제하고 다시 생성시켜야 할 것 같은데...
잘 모르겠네요.
void __fastcall TForm2::FormActivate(TObject *Sender)
{
int Count;
Count = StrToInt(Form1->Edit->Text);
for (int i=1; i<=Count; i++)
{
/*Edit 생성*/
TEdit *edit1;
edit1 = new TEdit(this);
edit1->Parent = this;
edit1->Left = 38;
edit1->Top = 24*i;
edit1->Name = "EdtSession" + String(i);
}
}
Edit 생성전에 삭제하는 방법을 좀 알려주세요....전 너무 초보라는 사실을 감안하시고 ㅜㅜ
|