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
[486] [답변] BACK99/ 빌더에서 Canvas 라인에서 지워지는 문제../프포
박지훈.임프 [cbuilder] 5655 읽음    1998-08-04 13:37
안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당자 임펠리테리입니다.

TCanvas 클래스는 윈도우의 DC를 감싸고 있는 클래스입니다. 당연히 지워지는 것을

막기 위해서는 API에서 DC에 대해 처리하는 것과 같은 방법을 써야 합니다. 바로

OnPaint 이벤트 핸들러에서 그려줘야죠.

void __fastcall TForm1::FormPaint(TObject *Sender)
{
    Canvas->Pen->Color = clAqua;
    Canvas->MoveTo(100, 100);
    Canvas->LineTo(200, 200);
}

이렇게 말이죠.. 그럼 가려졌던 Canvas를 포함하는 객체 (폼이나 페인트박스나 뭐든)

가 다시 그려질 필요가 있을때마다 해당 핸들러 함수가 실행되겠죠.

그리고, Circle 함수는 없습니다. 이건 원래 DC에 대한 페인팅에 관련된 API중에

원을 그리는 함수가 없기 때문이죠. 하지만, 비슷한 걸로 Ellipse() 함수가 있구요,

이건 타원을 그리는 함수입니다. 이 타원함수는 인자로서 타원이 그려질 직 사각형의

네 모서리 좌표를 받습니다. 당연히 직사각형 영역이 정사각형이면 원을 그리겠죠.

이 외에도 빌더 헬프에서 TCanvas를 찾으신후, Method를 찾아보시면 Canvas에서 사용

가능한 다양한 페인트 함수들을 보실 수 있습니다. 참고하시기 바랍니다.

그럼, 도움되시길 바라구요, 이만...




독립문에서 임펠리테리였습니다.

(cbuilder, skyhi18)



+ -

관련 글 리스트
485 [질문] 빌더에서 Canvas 라인에서 지워지는 문제../프포 back99 5597 1998/08/04
488     [답변] BACK99/ 빌더에서 Canvas 라인에서 지워지는 문제../프포 김나현 5592 1998/08/04
486     [답변] BACK99/ 빌더에서 Canvas 라인에서 지워지는 문제../프포 박지훈.임프 5655 1998/08/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.