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

interface
uses Graphics;

var ColrBack:Tcolor;
Type
Tviz=class(Tobject) // Абстрактный родительский класс
ColrLine : Tcolor;
Canvas : Tcanvas;
x, y, r : word;
Procedure Ris;virtual;abstract; // Перекрываемый метод для рисования
Procedure Draw(bl:boolean);
procedure Show; // Показать изображение
procedure Hide; // Стереть изображение
procedure MovTo(dx,dy,dr:integer); // Сдвинуть и изменить размер
end;
TKrug=class(Tviz) // Класс рисования круга
x1,y1,x2,y2:word;
Constructor Create(x0,y0,r0: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 TKrug.Create; // Начальные данные для рисования круга
begin // они такие-же как и для рисования квадрата,
colrLine:=colrLine0; // поэтому класс Tkvad наследует его
canvas:=canvas0;
x:=x0; y:=y0; r:=r0;
end;

Procedure Tkrug.Ris; // Рисование круга
Begin
//Canvas.Brush.Color:=clCream;
//Canvas.Pen.Color:=clMaroon;
x1:=x-r; x2:=x+r; y1:=y-r; y2:=y+r;
Canvas.Ellipse(x1,y1,x2,y2);
end;

end.
Соседние файлы в папке гусеница
  • #
    15.06.201451 б10Unit1.ddp
  • #
    15.06.20141.17 Кб10Unit1.dfm
  • #
    15.06.20142.5 Кб10Unit1.pas
  • #
    15.06.20142.06 Кб10Unit1.~pas
  • #
    15.06.20142.43 Кб10Unit2.dcu
  • #
    15.06.20141.92 Кб10Unit2.pas
  • #
    15.06.20142.17 Кб10Unit2.~pas
  • #
    15.06.20142.51 Кб10Unit3.dcu
  • #
    15.06.20141.11 Кб10Unit3.pas