|
안녕하세요.
TCanvas 관련해서 질문 드립니다
제가 아래 와 같이 버튼(정사각형)으로 정사각형을 Panel1 에 만들었는데요..
만든 정사각형외각을 드래그해서 모양도 바꾸는 것까지는 했습니다.
그런데 다른 버튼(다각형)을 하나 새로 만들어서 Panel1에 또 다른 도형을 추가 하려고 합니다.
그러면 Panel1 에 정사각형과 또다른 도형이 그려지는데요..
저는 그 두개의 도형이 서로다른 Canvas로 개별적으로 지우거나 모양을 변형 시키고 싶은데요..
제가 (TCanvas *Canvas = new TCanvas;) TCanvas를 할당 하였는데
그 그림을 지우려고 하면 하면 두개 도형이 같이 없어지잖아요...
개별적으로 그려지거나 지우거나 할수 없나요
Panel1 안에 서로 다른 여러 Canvas를 그려지게 하고 싶습니다.
배열처럼 여러개로 할 수 는 없는지 방법을 찾고 있는데 .. 아직 못찾고 있습니다. ㅠㅠ
질문의 요지를 최대한 정리하려고 했는데요 이해가 되시는분 부탁드립니다. ㅠㅠ.;;
void __fastcall TForm1::RECClick(TObject *Sender)
{
TCanvas *Canvas = new TCanvas;
HDC hdc;
hdc = NULL;
hdc = GetDC(Panel1->Handle);
Canvas -> Handle = hdc;
Canvas -> Pen -> Width = 1;
Canvas -> Pen -> Color = clRed;
Canvas -> Pen -> Style = psSolid;
Canvas -> Brush -> Style = bsClear;
Canvas -> Rectangle(X1,Y1,X2,Y2);
ReleaseDC(Handle,hdc);
delete Canvas;
GetRec = true;
}
void __fastcall TForm1::POLYClick(TObject *Sender)
{
TCanvas *Canvas = new TCanvas;
//TCanvas canvas[5];
HDC hdc;
hdc = NULL;
hdc = GetDC(Panel1->Handle);
Canvas -> Handle = hdc; Canvas -> Pen -> Width = 1;
Canvas -> Pen -> Color = clGreen;
Canvas -> Pen -> Style = psSolid;
Canvas -> Brush -> Style = bsClear;
TPoint points[9];
points[0] = Point(px0,py0);
points[1] = Point(px1,py1);
points[2] = Point(px2,py2);
points[3] = Point(px3,py3);
points[4] = Point(px4,py4);
points[5] = Point(px5,py5);
points[6] = Point(px6,py6);
points[7] = Point(px7,py7);
points[8] = Point(px8,py8);
pCanvas->Polygon(points,PolySize);
ReleaseDC(Handle,hdc);//
delete Canvas;
GetPoly = true;
}
|