|
요구르트님이 원하는게 다이얼로그가 순서대로 뜨는거 아닌가요?
이렇게 하면 될거 같은데....
아니라면 원하시는 기능을 다시 설명해 주세요. ^^
메인폼에서 버튼 클릭시
버튼 클릭()
{
Form2 = new TForm2(this);
Form3 = new TForm2(this);
Form4 = new TForm2(this);
Form2->ShowModal();
Form3->ShowModal();
Form4->ShowModal();
delete Form4;
delete Form3;
delete Form2;
}
요구르트 님이 쓰신 글 :
: 벌써 이 질문만 몇번쨰인데요..
: ShowModal을 이용해서 계속해서 폼을 띄우면서도 메인폼이 아닌 폼들은 지워지면서 새로운 폼을
: 만들려고 하는 것이거든요...
:
: 폼1(메인) -> -> 폼2 -> -> 폼3
: 버튼클릭 버튼클릭 버튼클릭
: { { {
: Form2 = new TForm2(this); Form3 = new TForm3(this); Close();
: Form2->ShowModal(); Form3->ShowModal(); }
: } Close();
: }
: 이게 대충 제가 한 코드였는데요..
: 이렇게 하면 폼3이 뜰때 폼2가 지워지지가 않아서 이걸 지울려고 하는 것이거든요..
:
:
:
: 이런 제 허접 질문에 대해서..
: 헬프에서 ModalResult찾아보라고 하셔서 찾아봤더니..
: void __fastcall TOKRightDlg::OKBtnClick(TObject *Sender)
: { ModalResult = mrOk; }
: void __fastcall TOKRightDlg::CancelBtnClick(TObject *Sender)
: { ModalResult = mrCancel; }
:
: This code brings up the modal dialog from Form1 when a button is clicked. It causes a Beep if the OK button is clicked.
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: { if (OKRightDlg->ShowModal() == mrOk) MessageBeep(0); }
:
: 이렇게 나와 있는데요..
:
: 그리고 어떤 님이..
: "" ShowModal() == mrOk될때 새로운 윈도우를 또 ShowModal() 하면 Main Form은 계속 살아 있고 Form2떳따가 Form2 mrOk되면 Form3뜨게 하고 Form2죽고... 이런식으로 하면 될것 같아서요 ""
: 라고 충고를 주셨거든요..
:
: 그러니깐 그 말씀들이 기존의 ShowModal()로 띄운 새폼에 대해서 ModalResult를 mrOk로 한다음 새로운 창을 띄우라는 말 아닌가요? (물론 제 허접한 추측입니다...ㅠㅠ;)
:
: 그래서..
: 이렇게 고쳐봤거든요..
:
: 폼1(메인) -> -> 폼2 -> -> 폼3
: 버튼클릭 버튼클릭 버튼클릭
: { { ModalResult = mrOk; {
: Form2 = new TForm2(this); Form3 = new TForm3(this); Close();
: Form2->ShowModal(); Form3->ShowModal(); }
: } Close();
: }
:
: 그랬더니 역시나 안되더군요..ㅜㅜ;
:
: 어떻게 고쳐야하는거죠???
:
:
:
:
:
:
:
|