
24.12.2008, 16:50
|
 |
Прохожий
|
|
Регистрация: 23.11.2008
Сообщения: 1
Репутация: 10
|
|
Вот тут реализовано движение линии по TImage со стиранием.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure FormShow(Sender: TObject);
private
A, B: TPoint;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
Dist = 5;
begin
with Image1.Canvas do
begin
Pen.Color := clWhite;
MoveTo(A.X, A.Y);
LineTo(B.X, B.Y);
case Key of
VK_UP:
begin
A.Y := A.Y - Dist;
B.Y := B.Y - Dist;
end;
VK_DOWN:
begin
A.Y := A.Y + Dist;
B.Y := B.Y + Dist;
end;
VK_LEFT:
begin
A.X := A.X - Dist;
B.X := B.X - Dist;
end;
VK_RIGHT:
begin
A.X := A.X + Dist;
B.X := B.X + Dist;
end;
end;
Pen.Color := clBlack;
MoveTo(A.X, A.Y);
LineTo(B.X, B.Y);
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
A.X := 30;
A.Y := 30;
B.X := 50;
B.Y := 50;
end;
end.
|