|
먼저 답변에 감사를 드립니다.
한참을 고민하면서 읽었는데 제가 아직 초보인 관계로
이해를 못하였습니다. 그래서 제가 질문하고 싶은 바를
다시 한번 명확하게 말씀드리겠습니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MyDraw();
}
void MyDraw()
{
Form1->Canvas->Ellipse(100,100,200,200);
}
와 같이 코딩을 하면 MyDraw를 부르면 Form1에 항상 그려집니다.
그런데 저는 MyDraw를 Form1에만 국한하지 않고
MyDraw를 부를때 Form2, Form3,...로 미리 지정하여
원하는 Form에 그림을 그리고 싶거든요. 제가 선택하고 싶은
Form을 어떻게 MyDraw에 넘겨 주어야 하나요.
읽어주셔서 감사합니다.
evergreen 님이 쓰신 글 :
: 안녕하세요. heredity입니다.
:
: TForm엔 TCanvas란 Property가 있습니다. 아래와 같은 방법으로 이를 활용해 보세요.
: 1. MyDraw Class에 Canvas란 Property를 두어 사용전에 해당 Form의 Canvas를 대입하도록 한 후 사용하거나
: 2. Method의 Parameter로 사용될 Form의 Canvas를 넘겨 사용
: 하시면 됩니다. 즉 MyDraw Class에서 자신이 알고 있는 Canvas에 그림을 그리면 되겠죠!
: 단점은 Form의 Canvas는 무효화 영역을 사용자가 다시 그려줘야 한다는 겁니다.
: 이것이 싫다면 TImage의 Canvas에 그려주세요.
:
: 행복하세요.
:
:
: 송호준 님이 쓰신 글 :
: : 짧은 지식으로 C++빌더를 사용하다보니 어려움이 많네요.
: :
: : 반복적인 그래픽 작업이 있어서
: : MyDraw라는 클래스를 하나 만들었는데요
: : 여기서 Canvas를 쓰거든요.
: : 그런데 Form1, Form2,...등을 이 클래스로 넘겨서
: : 지정된 Form에서 이 클래스가 동작하도록 하고 싶은데
: : 어떻게 해야하나요. (용어들이 맞나 모르겠네요???)
: :
: : 부탁드립니다.
: :
: : 감사합니다.
|