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
[63239] Re:컴포넌트 연습중인데요.
kylix [] 832 읽음    2010-12-13 14:36
1. Invalidate or Repaint
2. 안써봐서 잘 모르겠음.

초보 님이 쓰신 글 :
: 간단한 컴포넌트 연습 중인데요...
:
: 일단 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 컴포넌트 연습중인데요. 초보 893 2010/12/10
63239     Re:컴포넌트 연습중인데요. kylix 832 2010/12/13
63243         Re:Re:컴포넌트 연습중인데요. 초보 923 2010/12/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.