Показать сообщение отдельно
  #2  
Старый 24.12.2008, 16:50
Аватар для VVM
VVM VVM вне форума
Прохожий
 
Регистрация: 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.
Ответить с цитированием