안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당자 임펠리테리입니다.
죄송합니다만.. 걱정하신것처럼 질문하신 내용이 잘 이해가 안되네요... 다시 좀 구
체적으로 알려주시기 바라구요.. 한가지만 알려드리죠..
캔바스 프로퍼티가 없는 컨트롤이라도 패널과 같은 윈도우컨트롤이라면 윈도 핸들이
있으니까 이걸 이용하시면 되죠. 윈도 핸들로부터 DC를 얻어서 바로 API함수를 사용
할수도 있고, 캔바스를 사용하시는게 편하시다면 이 DC를 새로 만든 캔바스 객체에
할당해서 사용하시면 됩니다. 간단한 예를 보여드리면..
void __fastcall TForm1::Panel1Click(TObject *Sender)
{
TCanvas *Canvas = new TCanvas;
Canvas->Handle = GetDC(Panel1->Handle);
Canvas->LineTo(10,10);
delete Canvas;
}
이 예에선 패널을 클릭했을때, 새로운 캔바스를 생성하여 거기에 패널의 DC핸들을
할당하고, 그 캔바스 객체를 이용하여 패널에다가 낙서를 했습니다. 만약 캔바스를
자주 사용하신다면 캔바스의 포인터를 폼클래스에서 선언하고, From의 OnCreate에서
객체를 생성하고, OnDestroy에서 없애주면 되겠죠.
그럼 도움되시길 바라면서, 이만...
독립문에서 임펠리테리였습니다.
(cbuilder, skyhi18)
|