Прямоугольник
Прямоугольник вычерчивается методом 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).
Рис. 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;