Line(Pictureなど)
Lineメソッドは線を描画します。 Delphiでは TCanvas型のプロパティを持っているコンポーネントなら TCanvasの「LineTo」メソッドを使用して線を描画できます。LineToを使う前に 「MoveTo」で描画開始位置を指定します。また, それ以外にも「Polyline」メソッドは一度にたくさんの連続する線を描画できます。「Polygon」メソッドも同じく一度にたくさんの連続する線を描画し, 最終点と開始点をつなぎ, 閉じた図形を描画します。ただ四角を描画するだけなら「FillRect」メソッド(塗りつぶされた四角), または「FrameRect」メソッド(塗りつぶされていない四角)を使用するといいでしょう。角の丸い四角形を描く場合は「RoundRect」メソッドを使います。
■ TPaintBoxに赤い三角形を描画する例 (LineTo) procedure TForm1.Button1Click(Sender: TObject); begin With PaintBox1 do begin {線の色:赤} Canvas.Pen.Color := clRed; {線の太さ:1} Canvas.Pen.Width := 1; {線のスタイル:点線} Canvas.Pen.Style := psDot; {描画開始地点} Canvas.MoveTo((Width div 2), 0); {描画} Canvas.LineTo(0, Height - 1); Canvas.LineTo(Width, Height - 1); Canvas.LineTo((Width div 2), 0); end; end;
■ TPaintBoxに三角形を描画する例 (Polyline/Polygon) procedure TForm1.Button2Click(Sender: TObject); var pntXY : array [0..2] of TPoint; begin With PaintBox1 do begin {線の座標} pntXY[0].x := (Width div 2); pntXY[0].y := 0; pntXY[1].x := 0; pntXY[1].y := Height - 1; pntXY[2].x := Width; pntXY[2].y := Height - 1; {描画} if chkClosed.Checked then begin Canvas.Polygon(pntXY); end else begin Canvas.Polyline(pntXY); end; end; end;
■ TPaintBoxに四角形を描画する例 (FillRect) procedure TForm1.Button3Click(Sender: TObject); var Rect : TRect; begin With PaintBox1 do begin {四角の色} Canvas.Brush.Color := clRed; {四角の座標を設定} Rect.Left := 10; Rect.Top := 10; Rect.Right := Width - 10; Rect.Bottom := Height - 10; {描画} Canvas.FillRect(Rect); end; end;
■ TPaintBoxに角の丸い四角形を描画する例 (RoundRect) procedure TForm1.Button3Click(Sender: TObject); begin With PaintBox1 do begin {四角の色} Canvas.Brush.Color := clRed; {四角の枠の色} Canvas.Pen.Color := clWhite; {描画} Canvas.RoundRect(0,0,Width,Height,10,10); end; end;