Иллюстрированный самоучитель по Delphi 7 для начинающих

Прямоугольник

Прямоугольник вычерчивается методом Rectangle, инструкция вызова которого в общем виде выглядит следующим образом:

Объект.Canvas.Rectangle(x1, y1,x2, y2)

Где:

  • Объект – имя объекта (компонента), на поверхности которого выполняется вычерчивание;
  • x1, y1 и х2, у2 – координаты левого верхнего и правого нижнего углов прямоугольника.

Метод RoundRec тоже вычерчивает прямоугольник, но со скругленными углами. Инструкция вызова метода RoundRec выглядит так:

Объект.Canvas.RoundRec(x1,y1,х2, у2, х3, у3)

Где:

  • x1, y1, х2, у2 – параметры, определяющие положение углов прямоугольника, в который вписывается прямоугольник со скругленными углами;
  • х3 и у3 – размер эллипса, одна четверть которого используется для вычерчивания скругленного угла (рис. 10.8).

Иллюстрированный самоучитель по Delphi 7 для начинающих › Графические возможности Delphi › Прямоугольник
Рис. 10.8. Метод RoundRec вычерчивает прямоугольник со скругленными углами

Вид линии контура (цвет, ширина и стиль) определяется значениями свойства Реn, а цвет и стиль заливки области внутри прямоугольника – значениями свойства Brush поверхности (canvas), на которой прямоугольник вычерчивается.

Есть еще два метода, которые вычерчивают прямоугольник, используя в качестве инструмента только кисть (Brush). Метод FillRect вычерчивает закрашенный прямоугольник, а метод FrameRect – только контур. У каждого из этих методов лишь один параметр – структура типа TRect. Поля структуры TRect содержат координаты прямоугольной области, они могут быть заполнены при помощи функции Rect.

Ниже в качестве примера использования методов FillRect и FrameRect приведена процедура, которая на поверхности формы вычерчивает прямоугольник с красной заливкой и прямоугольник с зеленым контуром.

procedure TForm1.Button1Click(Sender: TObject);
var
r1, r2: TRect; // координаты углов прямоугольников
begin
// заполнение полей структуры
// зададим координаты углов прямоугольников
r1: = Rect(20.20.60.40);
r2: = Rect(10.10.40.50);
with fоrm1.Canvas do begin
Brush.Color: = clRed;
FillRect(r1); // закрашенный прямоугольник
Brush.Color: = clGreen;
FrameRect(r2}; // только граница прямоугольника
end;
end;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.