C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[66836] Re:Re:Re:Form에 대하여
장성호 [nasilso] 941 읽음    2012-04-04 17:04
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로 바꾸려면 다른방법이 있어야 하나요?

+ -

관련 글 리스트
66831 Form에 대하여 축구 864 2012/04/04
66832     Re:Form에 대하여 장성호 836 2012/04/04
66833         Re:Re:Form에 대하여 축구 818 2012/04/04
66836             Re:Re:Re:Form에 대하여 장성호 941 2012/04/04
66837                 Re:Re:Re:Re:Form에 대하여 축구 1049 2012/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.