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
[55712] Re:Re:Form Visible 문제때문에그러는데요.
S시온스S [] 1023 읽음    2009-01-07 13:04
정말 감사합니다!!! ㅇㅁㅇ!!!
너무 고마워요ㅎㅎㅎ

장성호 님이 쓰신 글 :
: C++Builder에서는 프로젝트 이름과 똑같은 cpp파일이 있죠
: Project1.bpr 에서는 Project1.cpp 
:
: 이 프로젝트.cpp에 WinMain이 있는것은 아실테구요
: C++Builder의 WinMain은 대게 다음과 같은 형태로 되어있습니다.
:
:
: #include 
: #pragma hdrstop
: //---------------------------------------------------------------------------
: USEFORM("Unit1.cpp", Form1);
: //---------------------------------------------------------------------------
: WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
: {
:     try
:     {
:          Application->Initialize();
: 
:          //Form1이 생성되어서 Application->MainForm으로 할당됨
:          Application->CreateForm(__classid(TForm1), &Form1); 
:  
:          //메인폼을 Show한후에 
:         // PeekMessage , TranslateMessage , DispatchMessage 등을 계속반복함..
:          Application->Run();
:     }
:     catch (Exception &exception)
:     {
:          Application->ShowException(&exception);
:     }
:     catch (...)
:     {
:          try
:          {
:              throw Exception("");
:          }
:          catch (Exception &exception)
:          {
:              Application->ShowException(&exception);
:          }
:     }
:     return 0;
: }
: 

:
: 그러데   일반적으로 WinMain에는 메세지큐에서 메세지를 가져와서(GetMessage)
: Despatch해주는 구분이 있는데 C++Builder WinMain에는 없지 않습니까?
:
: VCL에서는 이 구분이 Application 객체 안에 있습니다.
: 즉 Application->Run 함수안으로 쫓아가보면 그런 작업을 하는곳이 있습니다.
:
: 맨처음에 MainForm이 생성되었을때는 Visible=false이지만
: Application->Run함수에서 MainForm을 Show해주기때문에 그런 것입니다.
:
:
: 만약 MainForm을 Show되게 하고 싶지 않다면
:
: Application->Run을 호출하기 전에
: Application->ShowMainForm=false;를 해주면 Application->Run에서 메인폼을 Show하지 않습니다.
:
:
: WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
: {
:     try
:     {
:          Application->Initialize();
:          Application->CreateForm(__classid(TForm1), &Form1);
:          Application->ShowMainForm=false;  //이렇게..
:          Application->Run();
:     }
:     catch (Exception &exception)
:     {
:          Application->ShowException(&exception);
:     }
:     ...
: }
: 

:
:
: 그럼..
:
: S시온스S 님이 쓰신 글 :
: : 우선적으로 폼 보면 처음에 Visible이 false로 돼 있더라고요.
: :
: : 그래서 Visible을 체크해보니까. 처음 시작할때는 false인데
: :
: : WinMain들어가고나서 약 1초정도 지나니까 true로 바뀌더라고요;
: :
: :
: : 이거 자동 true 안되게할려면 어떻게해야하죠?

+ -

관련 글 리스트
55699 Form Visible 문제때문에그러는데요. S시온스S 1391 2009/01/06
55708     Re:Form Visible 문제때문에그러는데요. 장성호 1204 2009/01/07
55712         Re:Re:Form Visible 문제때문에그러는데요. S시온스S 1023 2009/01/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.