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
[63231] 컴포넌트 연습중인데요.
초보 [] 892 읽음    2010-12-10 14:08
간단한 컴포넌트 연습 중인데요...

일단 TGraphicControl을 상속 받아서 구현중입니다.

2가지 질문이 있습니다.

1. 귀퉁이에 라운드 처리를 하려고 하는데
   FRound라는 속성을 만들고
   OnPaint함수를 만들어
   CreateRoundRectRgn 함수를 써서 Region을 만들고 그림을 그리는 데요.
   문제는 옵젝트 인스펙터에서 FRound속성을 높이면 기존에 그려졌던 귀퉁이(R값이작은)가 지워지지 않습니다.
   그래서 제가만든 FRound를 세팅하는 SetRound함수에다
    Left++;Left--;
   이렇게 넣어 놓으면 꽁수같지만 기존 귀퉁이가 지워지더군요.
   즉 TGraphicControl::SetLeft혹은 그윗단에서는 어떤 동작을 해서 기존 그림을 클리어 하는 패턴이 있을것 같은데
   요걸 알고 싶습니다.

    즉 TGraphicControl에서 뒤에 있는 (소유하고있는)컨트롤을 먼저 그리고 내GraphicControl을 그리는 법이 궁금해요.

2. CreateRectRgn          (Rect.Left,Rect.Top,Rect.Right,Rect.Bottom);   
    CreateRoundRectRgn(Rect.Left,Rect.Top,Rect.Right+1,Rect.Bottom+1,Round,Round);
    위의 Region를 만드는 함수가 범위가 이상하게 똑같은 수치를 입력하면 CreateRoundRectRgn 이놈은 넓이랑
    높이가 1픽셀씩 작게 잡히더군요..  같은 함수군일텐데 원래 이런것인지 궁금 합니다.

저 1번의 답은 전에 게시판에서 본것 같은데 아무리 찾아봐도 찾아지지 않더군요 ㅜㅠ;

+ -

관련 글 리스트
63231 컴포넌트 연습중인데요. 초보 892 2010/12/10
63239     Re:컴포넌트 연습중인데요. kylix 832 2010/12/13
63243         Re:Re:컴포넌트 연습중인데요. 초보 922 2010/12/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.