Este artigo usa um exemplo para demonstrar a diferença entre Rect e Bounds gerando TRect. O código de exemplo é o seguinte:
unitUnit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;RadioGroup1: TRadioGroup;procedure RadioGroup1Click(Sender: TObject);procedure FormCreate(Sender : TObject);end;varForm1: TForm1;implementação{$R *.dfm}varR: TRect;procedure TForm1.FormCreate(Sender: TObject);beginRadioGroup1.Items.CommaText := 'Undo,Rect,Bounds';R := Button1 .BoundsRect;fim;procedimento TForm1.RadioGroup1Click(Sender: TObject);begincase RadioGroup1.ItemIndex of0: Button1.BoundsRect := R;1: Button1.BoundsRect := Rect(50,50,100,80); {Os parâmetros 3 e 4 são um ponto}2: Button1 .BoundsRect := Bounds(50,50,100,80);{Os parâmetros 3 e 4 são largura e altura respectivamente}end;end;end.A renderização final é a seguinte: