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
[71041] Re:Re:Re:Re:폼이 떠있는지 아닌지 확인 방법좀 질문할게요
폼확인 [] 2919 읽음    2014-03-17 17:44
그렇군요 그럼 Showing은 동적생성이 아닌 Auto create forms에서 실행시 자동으로 생성되었을때만
쓸 수 있는 명령어이군요

답변 감사합니다.

주누 님이 쓰신 글 :
:  BCB6기준으로 폼을 생성할 때 생기는 전역 변수는
: 프로젝트 옵션에 있는 'AutoCreate Form'기능에 의해서 덮혀 쓰이거나 할 수 있습니다.
:
: 만약 Form1 생성자나 Form1::CreateForm 내부에서 Form2를 동적 생성하면
: 이후에 Form2가 자동으로 생성 될때 덮여 쓰여서 다른 내용이 될수도 있습니다.
:
: 폼확인 님이 쓰신 글 :
: : 아 제가 질문을 잘못드렸네요
: :
: : Form을 새로 만들면
: : TForm2 *Form2;
: : 라고 전역으로 자동 선언이 되어 있지요
: :
: : 아래 동적생성한 폼을
: : Form2 = new TForm2(this);
: :
: : Form2->Show();
: :
: : 이렇게 한거였거든요 ㅎㅎ
: : 근데 저렇게해도
: : Form2->Showing이 안먹더라고요.
: :
: : 답변 감사합니다.
: :
: : 장성호 님이 쓰신 글 :
: : : 동적으로 생성한 폼의 포인터를 pFormCheckTest  변수에 넣어서 사용했으니
: : :
: : : 당연히 FormCheckTest 에 들어냈는 내용과는 다를 수밖에 없죠
: : :
: : : ==============================================
: : :
: : : 방법 1)
: : :
: : :    동적생성한 폼을 global변수에 할당하여 체크
: : :    FormCheckTest = new TFormCheckTest(this);
: : :
: : :
: : : 방법2)
: : :    Application->FindComponent 같은 함수는 없습니다.
: : :    대신  Application 처럼 자동생성되는  Global객체 중 Screen이라는 객체가 있습니다.
: : :
: : : 
: : :    Screen->FormCount ; // TCustmForm을 상속받아 만들어진 Form의 갯수 
: : :    Screen->Forms          // TCustmForm을 상속받아 만들어진 Form의 포인터 리스트  
: : : 

: : :
: : :    위 Screen객체가 가지고 있는 Form리스트에 생성된 폼의 포인터가 들어가 있으니
: : :    체크해 보시면 됩니다.
: : :
: : :    ClassName으로 체크하시면 될듯 하네요
: : :
: : : 그럼..
: : :
: : :
: : : 폼확인 님이 쓰신 글 :
: : : : 제가
: : : :
: : : : TForm1 에서
: : : :
: : : : TFormCheckTest *pFormCheckTest = new TFormCheckTest(this);
: : : :
: : : : pFormCheckTest->Show();
: : : :
: : : : 를 해서 폼을 생성하는데요
: : : :
: : : : TForm1에서 버튼을 누르면
: : : :
: : : : if(FormCheckTest->Showing)
: : : : {
: : : :     //
: : : : }
: : : : 이렇게 체크를 해봤는데 안되더라고요. 동적생성한 폼은 FormCheckTest가 아닐수도 있다고 하더라고요.
: : : :
: : : : 그래서
: : : :
: : : : if(Application->FindComponent("FormCheckTest"))
: : : : {
: : : :     //
: : : : }
: : : : 이렇게도 해봤는데 창이 열려있는데 안걸리네요
: : : :
: : : : 창이 열려있는지 체크하는 또다른 방법을 알고 계신분 힌트좀 부탁드립니다.

+ -

관련 글 리스트
71037 폼이 떠있는지 아닌지 확인 방법좀 질문할게요 폼확인 2941 2014/03/17
71038     Re:폼이 떠있는지 아닌지 확인 방법좀 질문할게요 장성호 3140 2014/03/17
71039         Re:Re:폼이 떠있는지 아닌지 확인 방법좀 질문할게요 폼확인 2925 2014/03/17
71040             Re:Re:Re:폼이 떠있는지 아닌지 확인 방법좀 질문할게요 주누 2949 2014/03/17
71041                 Re:Re:Re:Re:폼이 떠있는지 아닌지 확인 방법좀 질문할게요 폼확인 2919 2014/03/17
71042                     Re:Re:Re:Re:Re:폼이 떠있는지 아닌지 확인 방법좀 질문할게요 주누 3816 2014/03/17
71043                         Re:Re:Re:Re:Re:Re:폼이 떠있는지 아닌지 확인 방법좀 질문할게요 폼확인 3167 2014/03/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.