|
간단한 일입니다.
Main폼말고 sub폼을 만듭니다.
프로젝트 메뉴에서 옵션을 선택합니다.
Forms탭을 보시면 자동으로 만들어지는 폼 리스트가 있고 동적으로 만들어지는 폼 리스트가 있습니다.
sub폼을 동적 폼 리스트로 이동버튼을 눌러 이동시킵니다.
확인을 눌러 세팅을 적용시킵니다.
이제 코드로 와서..
Main폼에 버튼 하나를 놓고서 클릭이벤트에다가.. 다음과 같이..(sub폼 명칭을 그냥 Form2라고 )
Main폼에 sub폼이 저장될 장소를 마련해야겠지요? 나중에 할당한 메모리 풀어주려면....
그래서 헤더파일에
TForm *NForm[10]; // 그냥 10개 까지만 해보지요 쉽게.. 아니면 List로 관리하시는것이 좋겠지요.
int FormIndex;
클릭이벤트엔
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(FormIndex < 10)
{
NForm[FormIndex] = new TForm2(this);
NForm[FormIndex]->Show();
FormIndex++;
}
}
//---------------------------------------------------------------------------
이러면 버튼 누를때 마다 하나씩 동일모양의 Form2를 10개까지 띄울 수 있습니다.
메모리 해제는 알아서 해주시리라..믿습니다.
(사실 Owner가 Main폼이라 닫으면 자동으로 소멸되지만 확실하게 해제하는 것이 좋습니다.)
김용수 님이 쓰신 글 :
: Main폼이 있고
: 그 폼에서 Button을 누르면 서브 폼이 뜨게하는 방법은 알고 있습니다.
:
: 예를 들어서
:
: Main.cpp에서
:
: /* 버튼이 눌러지먼 */
: SubForm1->Show();
:
:
: 그런데 이렇게 하는것은 미리 SubForm1이라는것을
: 만들어 놓고 해야 되지 않습니까?
:
: 버튼을 누르면(원하는 것은 미리 하나의 서브 폼 SubForm1을 만들어 놓고)
: 그 서브폼이 n개 복수 생성되는것을 하고 싶습니다.
: 물론 그 복수 생성된 폼의 컴포넌트등을 제어 할 수 있으면서요.
:
: 예를 들어서 복수개의 폼을 생성할때 그 복수개 폼 각각의 핸들등을
: 알고 있다면 제어가 가능하지 않을까요?
|