|
고수는 아니지만.. 그냥 몇자 적습니다.
님께서 말씀하신 것은 구현하자면, 여러가지 방법이 있겠죠..
제가 쓰는 방법은 이렇습니다.
MainForm을 정했다면, 다음에 나타나는 다이어로그박스를 SubForm1,2,3,4,5...라고 하지요..
MainForm을 만든 후에, toolbar에 NewForm있죠..그걸 사용해서.. SubForm을 원하는 만큼만듭니다.
그렇 후에, Menu의 Projects>>Options의 Form tab으로 이동합니다.
아마 MainForm과 SubForm1,2,3,4,5...들이 Auto-create Forms쪽에 다~~ 있을겁니다.
그중에서 동적으로 생성하고 싶은 Form들만 골라서 Available Form쪽으로 이동을 시킵니다.
이렇게 하면 일단 바탕은 마련이 된거죠...
그런 다음에... MainForm에다..
alt+F11해서 SubForm들의 header들을 모두 include 하구요.
Button하나 떨어뜨려 놓구서..
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2* pFrmTest = new TForm2(this);
pFrmTest->ShowModal();
if(pFrmTest)
delete pFrmTest;
}
뭐 이렇게 하면.. SubFrom이 보일겁니다.
그밖에
SubForm에서 변수들을 계산한 값을 Main에서 가져다 쓸려면..
SubForm이 delete되기 전에~ 가져오면 됩니다.
그니깐...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int nResult;
TForm2* pFrmTest = new TForm2(this);
pFrmTest->ShowModal();
nResult = pFrmTest->m_nResult; <<<---- 요기.....
if(pFrmTest)
delete pFrmTest;
Memo1->Lines->Add(nResult);
}
그럼 즐프하세요.....
프로그램은 돌아가기만 하면 장땡이다.. ㅋㅋㅋ..(고수 아닌 사람이...)
시후 님이 쓰신 글 :
: 오널 하루도 열심히 즐프(?)하시는 모든 님들 정말 수고가 많으십니다.
: 항상 도움만 받고 답변은 한번도 못하니 정말 지송합니다..^^*
:
: 다이얼로그박스를 만들어서 메인폼에서 불러오고 싶거든요..
: 어떻게 해야 합니까?
: 처음 프로그램을 로드 시킬때 전체를 다불러오는것이 아니라 메인폼만 불러오고 나머진 다이얼로그
: 박스 형식으로 만들어서 동적으로 적재를 시킬려구 하거든요..도저히 몰겠습니다..
: 꼭 좀 답변 부탁드립니다...
:
|