BeginPath {路径开始} EndPath {路径结束} StrokePath {绘制路径} FillPath {填充路径} StrokeAndFillPath {绘制并填充路径} //在路径中可以使用的图形命令有: AngleArc Arc ArcTo Chord CloseFigure Ellipse ExtTextOut LineTo MoveToEx Pie PolyBezier PolyBezierTo PolyDraw Polygon Polyline PolylineTo PolyPolygon PolyPolyline Rectangle RoundRect TextOut本例效果图:
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) RadioGroup1: TRadioGroup; procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin RadioGroup1.Items.CommaText := '绘制路径,填充路径,绘制并填充'; RadioGroup1.ItemIndex := 0; RadioGroup1.Columns := RadioGroup1.Items.Count; end; procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Font.Size := 36; Canvas.Font.Style := [fsBold]; SetBkMode(Canvas.Handle, TRANSPARENT); BeginPath(Canvas.Handle); Canvas.Rectangle(10,10,110,110); Canvas.TextOut(20,30,'Delphi 2007'); EndPath(Canvas.Handle); Canvas.Brush.Color := clYellow; Canvas.Pen.Color := clRed; case RadioGroup1.ItemIndex of 0: StrokePath(Canvas.Handle); 1: FillPath(Canvas.Handle); 2: StrokeAndFillPath(Canvas.Handle); end; end; procedure TForm1.RadioGroup1Click(Sender: TObject); begin Repaint; end; end.窗体设计:
object Form1: TForm1 Left = 373 Top = 260 Caption = 'Form1' ClientHeight = 193 ClientWidth = 321 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesigned OnCreate = FormCreate OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 object RadioGroup1: TRadioGroup Left = 28 Top = 131 Width = 265 Height = 49 Caption = 'RadioGroup1' TabOrder = 0 OnClick = RadioGroup1Click end end