В этой статье используется пример, демонстрирующий разницу между Rect и Bounds, генерирующими TRect. Пример кода выглядит следующим образом:
unitUnit1;interfaceusesWindows, Messages, SysUtils, Варианты, Классы, Графика, Элементы управления, Формы, Диалоги, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;RadioGroup1: TRadioGroup;процедура RadioGroup1Click(Sender: TObject);процедура FormCreate(Sender) : TObject);end;varForm1: TForm1;реализация{$R *.dfm}varR: TRect;процедура TForm1.FormCreate(Sender: TObject);beginRadioGroup1.Items.CommaText := 'Undo,Rect,Bounds';R := Button1 .BoundsRect;конец;процедура TForm1.RadioGroup1Click(Sender: TObject);begincase RadioGroup1.ItemIndex of0: Button1.BoundsRect := R;1: Button1.BoundsRect := Rect(50,50,100,80); {Параметры 3 и 4 являются точкой}2: Button1 .BoundsRect := Bounds(50,50,100,80);{Параметры 3 и 4 — это ширина и высота соответственно}end;end;end.Окончательный рендеринг выглядит следующим образом: