C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[538] 간단한 컴포넌트는 인스톨하지 말고 사용하기.
김태선 [jsdkts] 7018 읽음    2005-12-12 11:54
디자인이 중요하고 복잡하고 컴포넌트가 세트로 되어 있는 것은 설치해서 사용하는 것이 좋으나,
간단한 컴포넌트까지 꼭 설치해서 사용할 필요는 없습니다.
일일이 인스톨 해서 사용하는 것은 때로 제법 번거로운 일 중에 하나입니다.

컴포넌트도 하나의 클래스임에는 틀림없습니다.
그러므로 그냥 클래스 쓰듯이 쓰면 됩니다.
컴포넌트는 C++되 되어 있던, 델파이로 되어 있던 관계없습니다.

해당 컴포넌트를 인식해야 하므로 헤더와 컴포넌트 소스 파일을 프로젝트 폴더나 그 근처에 두고
#include "해당컴포넌트.hpp"
하고

프로그램에서 생성해서 사용하면 그 뿐입니다.
폼의 적당한 섹션에
  TNewMemo  *NewMemo1;
식으로 컴포넌트 포인트 변수를 잡고...

주로 폼생성 이벤트에서 다음과 같이 주면 됩니다.

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    NewMemo1 = new TNewMemo(this);  // 일반 컴포넌트 생성하듯이 오너 지정.
    NewMemo1->Parent = this; // 화면상에 표시될 때 관리를 위해 Parent 지정.
    NewMemo1->Left   = 100;  // 컴포넌트 표시 위치 지정.
    NewMemo1->Top    = 200;
    NewMemo1->Width  = 300;
    NewMemo1->Height = 400;
 
}
주의 할 것은, 반드시 Owner와 Parent 를 지정해줘야 한다는 것입니다.
물론 인비즈블한(invisible 실행 화면에 직접 나타나지 않는) 컴포넌트는 오너만 지정해주면 되고 Parent 지정은 필요없고,
화면 좌표도 신경쓸 것 없습니다.

그리고 컴포넌트는 VCL 스타일 클래스이므로 반드시 Heap 에 생성해야 합니다.
다시 말해 new 연산자로 생성해야 합니다.

생성된 컴포넌트의 소멸은 오너로 지정한 폼이 소멸시 자동으로 알아서 처리하므로
일일이 안해줘도 됩니다..

간단한 컴포넌트는 이런식으로 간단히 되는데, 좀 복잡한 컴포넌트는 알아서 하세요.


이거.. 너무 당연한 것을 팁이랍시고 올리는 군요 ㅡㅡ;

+ -

관련 글 리스트
538 간단한 컴포넌트는 인스톨하지 말고 사용하기. 김태선 7018 2005/12/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.