|
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번의 답은 전에 게시판에서 본것 같은데 아무리 찾아봐도 찾아지지 않더군요 ㅜㅠ;
|