procedure TForm1.FormPaint(Sender: TObject);
var
R: TRect;
begin
// Filled rectangle, no border
Canvas.Brush.Color := clBlue;
Canvas.FillRect(10, 10, 100, 100);
// Non-filled rectangle
Canvas.Brush.Color := clRed;
Canvas.FrameRect(110, 10, 200, 100);
// Non-filled rectangle
Canvas.Pen.Color := clGreen;
Canvas.Frame(210, 10, 300, 100);
// Ellipse (Circle)
Canvas.Pen.Color := clBlue;
Canvas.Pen.Style := psDash;
Canvas.Brush.Color := clRed;
Canvas.Brush.Style := bsCross;
Canvas.Ellipse(10, 110, 100, 200);
// Ellipse
Canvas.Pen.style := psSolid;
Canvas.Pen.Color := clBlue;
Canvas.Brush.Color := clAqua;
Canvas.Brush.Style := bsSolid;
Canvas.RoundRect(110, 110, 200, 200, 20, 20);
// Rectangle filled by vertical gradient
Canvas.Pen.Style := psSolid;
Canvas.GradientFill(Rect(210, 110, 300, 200), clRed, clYellow, gdVertical);
// Raised empty 3D rectangle
Canvas.Pen.Style := psSolid;
R := Rect(10, 210, 100, 300);
Canvas.Frame3D(R, clWhite, clGray, 3);
// Sunken filled 3D-rectangle
R := Rect(110, 210, 200, 300);
Canvas.Frame3D(R, clGray, clWhite, 3);
Canvas.Brush.Color := clSilver;
Canvas.FillRect(R);
end;