판넬을 몇게 올려놓고
그 판넬 바탕색을 두는 식으로 그룹을 져서 화면 인터페이스를 만들었습니다.
그런데 판넬에는 선을 그릴수가 없더라구요..
Type 에 pnlTemp = class(TPanel); 선언하구
FormPaint 메소드에서 사용하려 했지만 안되더라구요...
예
With pnlTemp(Panel1).Canvas do begin
brush.style:=bsclear;
pen.color:=clBlue;
moveto(0,100);
lineto(0, height);
end;
이런 식으로 했지만 이것도 역시 안됩니다.
선그리는 방법을 알려주세요...
한가지가 빠졌군요... 캔버스에 윈도우DC를 연결해주어야 합니다...
procedure TForm1.Button1Click(Sender: TObject);
type
pnlTemp = class(TPanel);
var
Canvas: TCanvas;
begin
Canvas := pnlTemp(Panel1).Canvas;
try
Canvas.Handle := GetDC(Panel1.Handle); // <<***********************
Canvas.Brush.Style:= bsClear;
Canvas.Pen.Color := clRed;
Canvas.MoveTo(100,100);
Canvas.LineTo(200, 200);
finally
ReleaseDC(Panel1.Handle, Canvas.Handle);
end;
end;
^^ 항상 즐코하세요...
박제범 wrote:
> 판넬을 몇게 올려놓고
>
> 그 판넬 바탕색을 두는 식으로 그룹을 져서 화면 인터페이스를 만들었습니다.
>
> 그런데 판넬에는 선을 그릴수가 없더라구요..
>
> Type 에 pnlTemp = class(TPanel); 선언하구
>
> FormPaint 메소드에서 사용하려 했지만 안되더라구요...
>
> 예
> With pnlTemp(Panel1).Canvas do begin
> brush.style:=bsclear;
> pen.color:=clBlue;
> moveto(0,100);
> lineto(0, height);
> end;
>
> 이런 식으로 했지만 이것도 역시 안됩니다.
>
> 선그리는 방법을 알려주세요...
>