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
[6651] Re:다른곳에서의 TMDIChild 사용...
박세용 [] 2147 읽음    2001-04-06 20:46
수야 님이 쓰신 글 :
: 안녕하세요 ^^
:
: MDI App 구요
:
: MainForm.h 에 아래와 같이 정의되어있죠
:
:  TMDIChild *Child;
:  TMDIChild *tempChild;
:
: tempChild는 제가 사용하기위해서 선언했는데요
:
: 다른곳에서 제가 선언한 tempChild를 사용할려고합니다.
:
: 화살표 연산자 말고 다른 사용방법은 없는건가요?
:
: 그러니까..
:
: unit1.h 에다가 TMDIChild *tempChild; 하고 선언해봤는데요
:
: 뭔가가 부족한듯 싶습니다.uni1은 폼이 없는 클래스선언 unit이구요
:
: 어떻게 해야하나요?
:
:

MDI App에서 child폼을 동적으로 생성하고 사용할 때에는

class TMDIMain;
class TMDIChild;
class Test;

이렇게 있으면

보통
TMDIMain::FileOpen(...)
{
   TMDIChild *child;

   if( OpenFileDialog1->Execute() )
   {
      child = new TMDIChild( Application );
      ...
   }
}

이런 식으로 생성을 하고,

선택된 MDI Child에 대해서 메뉴등을 실행할 때는

메인내에서는

TMDIChild *child = (TMDIChild *)ActiveMDIChild;

로 사용을 합니다.

근데 위에서 폼이 없는 Test 클래스에서 사용을 하려면

전체 메인 폼의 변수가

TMDIMain *MDIMain;

라고 하면

Test 클래스 내에서는

TMDIChild *child = (TMIDChild *)(MDIMain->ActiveMDIChild);

와 같은 식으로 가져와서

child->Caption = "TEST";
child->Show();

와 같은 식으로 사용하면 됩니다.

+ -

관련 글 리스트
6627 다른곳에서의 TMDIChild 사용... 수야 2017 2001/04/06
6651     Re:다른곳에서의 TMDIChild 사용... 박세용 2147 2001/04/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.