Este artículo utiliza un ejemplo para demostrar la diferencia entre Rect y Bounds que generan TRect. El código de ejemplo es el siguiente:
unitUnit1;interfaceusesWindows, Messages, SysUtils, Variantes, Clases, Gráficos, Controles, Formularios,Diálogos, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;RadioGroup1: TRadioGroup;procedimiento RadioGroup1Click(Remitente: TObject);procedimiento FormCreate(Remitente : TObject);end;varForm1: TForm1;implementación{$R *.dfm}varR: TRect;procedimiento TForm1.FormCreate(Sender: TObject);beginRadioGroup1.Items.CommaText := 'Deshacer,Rect,Bounds';R := Botón1 .BoundsRect;fin;procedimiento TForm1.RadioGroup1Click(Sender: TObject);begincase RadioGroup1.ItemIndex of0: Button1.BoundsRect := R;1: Button1.BoundsRect := Rect(50,50,100,80); {Los parámetros 3 y 4 son un punto}2: Button1; .BoundsRect := Bounds(50,50,100,80);{Los parámetros 3 y 4 son ancho y alto respectivamente}end;end;end.La representación final es la siguiente: