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
[5299] Re:클래스 상속에 대한 질문입니다 ^^ -> 패어런트를 정해주세요
박지훈.임프 [cbuilder] 3027 읽음    2001-02-08 15:23
Apple 님이 쓰신 글 :
: 안녕하세요~
: 클래스 상속을 통해 다른 기능을 더 갖는 클래스를 만들려고 합니다.
:
: *대상: TTreeView
: *시도:
:        class AppleTree: public TTreeView
:        {
:             public:
:                 __fastcall  AppleTree(TComponent * Owner);
:                 __fastcall ~AppleTree();
:        };
:        //생성자
:        __fastcall AppleTree::AppleTree(TComponent* Owner) : TTreeView(Owner)
:        {
:            ShowMessage("ok");
:        };
:        //소멸자
:        __fastcall AppleTree::~AppleTree()
:        {
:             ShowMessage("no!");
:        };
: 이렇게 클래스를 상속 받았습니다..테스트를 위해 기능첨가는 없네요 ^^;
: 맞는지 모르겠네요..여기까진 컴파일 이상 없고 메소드도 다 포함하고 있더군요~
:
: 음..
: 문제는 이 새로 만든 클래스로 동적 생성을 할때 발생합니다.
:
: *시도:
:
:         AppleTree * MyTree = new AppleTree(this);
:
:         MyTree->Left = 8;
:         MyTree->Top = 32;
:         MyTree->Width = 145;
:         MyTree->Height = 361;
:         MyTree->Indent = 19;
:         MyTree->TabOrder = 0;
:         //MyTree->ParentWindow = this->Handle;
:      
: 이렇게 동적 생성을 했는데요...
: 컴파일도 되고..
: 동적생성이 될때..
: 에러가 발생합니다.
:
: *에러
:       EInvalidOperation with message 'Control'' has no parent window'.
:
: 이런 에러가 발생하네요..
:
: 도움 부탁드리겠습니다!
: 그럼 좋은 하루 되세요!!


임펠리테리입니다.

모든 컨트롤은 패어런트를 가져야 합니다. 여기서 컨트롤이란, TControl을 상속받은 컴퍼넌트로서 폼 위에서 보이게 됩니다. 패어런트를 지정하는 방법은 다음과 같습니다.
MyTree->Parent = this;

그럼 참고하시길...

+ -

관련 글 리스트
5296 클래스 상속에 대한 질문입니다 ^^ Apple 2929 2001/02/08
5299     Re:클래스 상속에 대한 질문입니다 ^^ -> 패어런트를 정해주세요 박지훈.임프 3027 2001/02/08
5301         Re:Re:클래스 상속에 대한 질문입니다 ^^ -> 패어런트를 정해주세요 Apple 2646 2001/02/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.