Показать сообщение отдельно
  #3  
Старый 04.08.2008, 17:39
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Код:

unit Unit1;

interface

uses
  Windows,  Messages,  SysUtils,  Variants,  Classes,  Graphics,  Controls,  Forms, 
  Dialogs,  ExtCtrls;

type
  TForm1  =  class(TForm)
    Image1: TImage;
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, 
      Y: Integer);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X,  Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X,  Y: Integer);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  Origin,  MovePt: TPoint;
  Drawing: boolean;
implementation

{$R  * .dfm}

procedure DrawShape(TopLeft,  BottomRight: TPoint; AMode: TPenMode);
begin
  with Form1.Image1.Canvas do begin
    Pen.Mode  :=  AMode;
    MoveTo(TopLeft.X,  TopLeft.Y);
    LineTo(BottomRight.X,  BottomRight.Y);
  end;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, 
  Y: Integer);
begin
 if Drawing  =  true then begin
  DrawShape(Origin,  MovePt,  pmNotXor);
  MovePt  :=  Point(X,  Y);
  DrawShape(Origin,  MovePt,  pmNotXor);
 end;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X,  Y: Integer);
begin
  Image1.Canvas.MoveTo(X,  Y);
  Origin  :=  Point(X,  Y);
  MovePt  :=  Origin;
  Drawing  :=  true;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X,  Y: Integer);
begin
 Drawing  :=  false;
end;

end.
Ответить с цитированием