|
답변감사드리구요.
알려주신것들 다 해봐도 똑같네요 ;;ㅜㅠ
한번 이것저것 알아보다가 정 안되면 다시 질문 올리던지 하겠습니다. ㅜㅠ
kylix 님이 쓰신 글 :
: 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번의 답은 전에 게시판에서 본것 같은데 아무리 찾아봐도 찾아지지 않더군요 ㅜㅠ;
|