|
Form2가 뭔가요?
Splash Form이나 Login Form등을 구현할때..
MainForm이 뜨기 전에 띄웠다가 , 해당 폼을 닫으면 MainForm이 뜨는 구조로 만들기도 하죠
----------------------------------------------
그런 경우 Project xxx.cpp 파일을 열어보시면
WinMain함수가 있습니다.
WinMain함수코드에서
Application->Run() 이부분이 메인폼을 띄워주고..
프로그램이 종료될때까지 메세지 펌프르 반복하는 곳입니다.
MainForm이 띄기전에 다른 폼을 띄워주고 그 폼이 닫으면 mainForm을 띄워주려면...?
여러가지 방법이 있지마..
Application->Run 바로 앞에 ShowModal로 다른 폼을 띄워주시면 됩니다.
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
Application->CreateForm(__classid(TFMain), &FMain);
Application->CreateForm(__classid(TFSub), &FSub);
//메인폼 뜨기전 Sub폼으리 띄워주고
//서버폼 결과에 따라 프로그램 실행할지 말지 결정..
if(FSub->ShowModal() !=mrOk) return 1;
Application->Run();
//생략..
}
//생략..
}
//-------------------------------------------------------------
위 방법 말고 도
Form1의 Create이벤트에서 Form2를 동적생성해서
ShowModal로 Form2를 띄워줘도 됩니다.
그럼...
축구 님이 쓰신 글 :
: 아 그건 알겠는데요 폼1이 메인인데 폼2부터 실행이 되야하거든요.
:
: 그래서 폼2가뜨고 버튼 누르면 2가 없어지고 1이 뜨고 작업표시줄에 폼2가아니고 폼1이 떠야하는데
:
: 하나로 이어졌다고 해야하나 폼2가 닫히고 1이 떠도 작업표시줄에 2가떠있고
:
: 강제로 닫으면 다 닫혀버려서요 ㅎㅎㅎ
:
: 폼을 따로 분리해야한다고나 할까요?
:
:
: 장성호 님이 쓰신 글 :
: : 프로젝트 옵션에 들어가셔서요
: :
: : Forms탭에 보시면
: :
: : AutoCreateForm이 있습니다.
: :
: : AutoCreateForm중에 맨 첫번째 생성되는 폼이
: : MainForm이 됩니다.
: :
: :
: : 거기에서 순서를 바꾸시거나
: : 빼시가나 하시면서
: :
: : MainForm을 변경할수도 있고, AutoCreate를 변경할수도 있습니다.
: :
: : 그럼..
: :
: : 축구 님이 쓰신 글 :
: : : Form1과 Form2가 있는데요 처음 시작은 Form2가 보여지고
: : :
: : : 버튼을 누르면 Form2가 사라지고 Form1이 뜨는데요.
: : :
: : : 작업 표시줄보면 Form2의 폼제목이 그대로 나오는데 화면에 보이는건 폼1인데
: : :
: : : 왜 폼2가 작업 표시줄에 나올까요? 작업표시줄에서 폼1로 바꾸려면 다른방법이 있어야 하나요?
|