Скачиваний:
10
Добавлен:
15.06.2014
Размер:
1.87 Кб
Скачать
unit Unit2;

interface
uses Graphics;

var ColrBack:Tcolor;
Type
Tviz=class(Tobject) // Абстрактный родительский класс
ColrLine : Tcolor;
Canvas : Tcanvas;
x, y, r ,a : word;
Procedure Ris;virtual;abstract; // Перекрываемый метод для рисования
Procedure Draw(bl:boolean);
procedure Show; // Показать изображение
procedure Hide; // Стереть изображение
procedure MovTo(dx,dy,dr:integer); // Сдвинуть и изменить размер
end;

TKvad=class(Tviz) // Класс рисования квадрата
x1,y1,x2,y2:word;
Constructor Create(x0,y0,a0:word; colrLine0:Tcolor;canvas0:Tcanvas);
Procedure Ris; override;
end;

implementation
Procedure Tviz.Draw; // В зависимости от значения булевой
begin // переменной этот метод рисует картинки Ris
with Canvas do begin // либо цветом линии, либо цветом фона.
if bl then begin // В последнем случае происходит стирание
pen.color:=colrLine; brush.color:=colrLine
end
else begin
pen.color:=colrBack; brush.color:=colrBack
end;
Ris; // Процедура ris что-то рисует
end; end;

Procedure Tviz.Show;
begin
Draw(true);
end;

Procedure Tviz.Hide;
begin
Draw(false);
end;
procedure Tviz.MovTo;
begin
Hide;
x:=x+dx; y:=y+dy; r:=r+dr; // Переход к новым координатам
Show;
end;

Constructor TKvad.Create; // Начальные данные для рисования круга
begin // они такие-же как и для рисования квадрата,
colrLine:=colrLine0; // поэтому класс Tkvad наследует его
canvas:=canvas0;
x:=x0; y:=y0; a:=a0;
end;

Procedure Tkvad.ris; // Рисование квадрата
Begin
x1:=x; x2:=x+a; y1:=y; y2:=y+a;
Canvas.Rectangle(x1,y1,x2,y2);
end;


end.


Соседние файлы в папке пирамида из квадратов
  • #
    15.06.2014213 б10Project2.dpr
  • #
    15.06.20146.01 Кб10Unit1.dcu
  • #
    15.06.20142.55 Кб10Unit1.dfm
  • #
    15.06.20142.13 Кб10Unit1.pas
  • #
    15.06.20142.37 Кб10Unit2.dcu
  • #
    15.06.20141.87 Кб10Unit2.pas