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
[44946] Re:[질문]TShape에 Canvas가 있나요?
둘리 [dooly386] 979 읽음    2006-05-21 00:13
TShape 에는 public 또는 published 된 Canvas가 없습니다.
단 TShape는 그 상위로 TGraphicControl 에서 상속 되어 옵니다.
문제는 TGraphicControl이 Canvas가 있는데.. 이녀석이 protected 되어 있다는 것 입니다.
그러면 잠깐 생각을 바꾸면 이녀석을 끌어 낼 수 있죠.. 바로 protected 에 있으니까요..

class A : public TGraphicControl
{
public:
    __property TCanvas *cav = {read=Canvas};
};
이런 클래스를 하나 만들어서

이렇게 사용하면

    A *g = (A *)Shape1;
    g->cav->MoveTo(0,0);
    g->cav->LineTo(10,10);

여기서 Shape1 은 TShape 입니다.
사용 가능 합니다.

이러한 방법은 이경우만 쓰이는게 아니고 다른 상황도 비슷하게 쓰일수 있겠죠?
protected 는 private 와는 다르게 상속받을 경우 사용할 수 있다는 원칙에 의한것이겠죠.

수고하세요.



이형도 님이 쓰신 글 :
: 제목 그대로입니다.
: XFORM을 사용해서 회전하려고 하는데 TShape에 BMP가 있나요?
: 아니면 TShape에 Canvas가 있나요?

+ -

관련 글 리스트
44944 [질문]TShape에 Canvas가 있나요? 이형도 701 2006/05/20
44946     Re:[질문]TShape에 Canvas가 있나요? 둘리 979 2006/05/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.