|
newCanvas = reinterpret_cast<TCanvas*>(FrmMain->Canvas);
이런식으로 Canvas 복사가 가능합니다. 그리고, 만약에 Canvas에 그린 그림을 복사를 하고 싶으시다면 다른 식으로 복사를 하셔야 합니다. (CopyRect 등.. 개인적으로는 TImage를 이용하시는 것을 추천합니다) 위 작업은 일종의 포인터 역활로, newCanvas에 그림을 그리면, Form에 그려주는 식으로 대상을 가르키는 역할을 합니다.
Canvas는 위에 그렸던 그림을 기억하지 않습니다. Form, PaintBox등의 경우에는 Repaint가 될때 Canvas의 그림이 모두 지워집니다. 그렇기 때문에, 만약, Form의 Canvas에 그린 그림 내용을 기억하시려면, Canvas의 객체가 아닌 Canvas의 내용을 복사해야 합니다.
아담 님이 쓰신 글 :
: 클래스를 만들어 안에다 Canvas를 만들고.
: Form의 Canvas를 복사해 사용하려고
: Canvas를 생성후
: Assign으로 넣으려니 에러발생.....
:
: newCanvas->Assign(FrmMain->Canvas);
:
: 도움 바랍니다....
|