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
[12829] 전역 변수인 Screen->Forms[ index] 를 이용해 보세요
박정모 [] 1091 읽음    2001-11-19 15:34

전역 변수로 Screen이란게 있습니다. 이 변수는 현재 열린 모든 Form을
Forms 라는 배열 프로퍼티로 알려 줍니다.

Screen->Forms[ index ].ClassName 을 통해서 특정 Form의 class이름을
비교 할 수 있는데, 이것을 통해 한 Form이 몇개나 열렸는지, Form이
내가 원하는 것인지 확인할 수 있습니다.

Design time에 Form을 선택하면 Object inspector의 상단에

Form1 : TForm1

대충 이런식으로 나오죠? 여기서 뒷부분이 바로 ClassName 입니다.

void CloseForm( String ClassName )
{
   for ( i = 0; i < Screen->FormCount; i++ )
      if ( AnsiCompareText( Screen[ i ]->ClassName, ClassName ) == 0 )
      {
         Screen[ i ]->Close( );
         return;
      }
}

void ReCreateForm( void )
{
   CloseForm( "TForm1" );
   TForm1 *form = new TForm1( Application );
   form->Show( );
}

대충 이 비슷하게 코딩하면 될텐데요... ^^;;

제가 C++ Builder를 사용한지 너무 오래되어서 문법이 틀릴지도 모르겠네요.
안되는게 있음 다시 질문 하십시요.


+ -

관련 글 리스트
12810 동일 폼이 열려 있으면 닫고 다시 동일 폼을 열수 있는 방법은 없는지요? 정기원 860 2001/11/19
12829     전역 변수인 Screen->Forms[ index] 를 이용해 보세요 박정모 1091 2001/11/19
12814     Re:동일 폼이 열려 있으면 닫고 다시 동일 폼을 열수 있는 방법은 없는지요? 문정원 1114 2001/11/19
12825         Re:Re:문제가 발생해요? 정기원 817 2001/11/19
12826             Re:Re:Re:문제가 발생해요? 로렌조 929 2001/11/19
12837                 Re:Re:Re:Re:문제가 발생해요? 박주홍 871 2001/11/19
12839                     Re:Re:Re:Re:Re:문제가 발생해요? 문정원 915 2001/11/19
12871                         Re:Re:Re:Re:Re:Re:문제가 발생해요? 정기원 761 2001/11/20
12877                             Re:Re:Re:Re:Re:Re:Re:문제가 발생해요? 문정원 1029 2001/11/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.