Programming: Delphi
Иллюстрированный самоучитель по 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).
Рис. 10.8. Метод
RoundRec вычерчивает прямоугольник со скругленными углами
Вид линии контура (цвет,
ширина и стиль) определяется значениями свойства Реп, а цвет и стиль заливки
области внутри прямоугольника — значениями свойства 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;
Назад | Оглавление | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|