在新的 VCL 表单应用程序 ( File->New->VCL Form Application
) 中,将 aTButton
放在表单中间,双击它以创建TForm1.Button1Click
事件处理程序,然后使用以下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
OldBrushColor, OldPenColor: TColor;
begin
// I've enlarged the size of the rectangle (box)
// to 20 x 20 for illustration purposes.
OldBrushColor := Self.Canvas.Brush.Color;
Self.Canvas.Brush.Color := clBlack;
Self.Canvas.Rectangle(10, 10, 30, 30);
Self.Canvas.Brush.Color := OldBrushColor;
Self.Canvas.Ellipse(11, 11, 29, 29);
// Alternative using MoveTo/LineTo and
// changing pen color
OldPenColor := Self.Canvas.Pen.Color;
Self.Canvas.Pen.Color := clRed;
Self.Canvas.MoveTo(30, 10);
Self.Canvas.LineTo(50, 10);
Self.Canvas.MoveTo(50, 10);
Self.Canvas.LineTo(50, 30);
Self.Canvas.MoveTo(50, 30);
Self.Canvas.LineTo(30, 30);
Self.Canvas.MoveTo(30, 30);
Self.Canvas.LineTo(30, 10);
Self.Canvas.Ellipse(31, 11, 49, 29);
Self.Canvas.Pen.Color := OldPenColor;
end;
以上示例:
![屏幕截图](https://i.stack.imgur.com/HYrt2.png)
您可以在文档中找到其他TCanvas
绘图方法(例如Arc
、以及和Chord
的组合。(该链接适用于 XE4 的文档,但 Delphi 2006 文档也应该有相关信息。)MoveTo
LineTo