Показать сообщение отдельно
  #6  
Старый 19.06.2013, 09:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от NumLock
не вижу более простого способа:

Num, читай внимательно, чел сказал, что мышку он схватывать умеет.
Ему методы рисования нужны.

Вот маленькая демка. Просто рисует красную линию по 2м кликам:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    FIsDrawing : Boolean;
    FP1, FP2 : TPoint;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FIsDrawing := False;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If FIsDrawing
    Then
      Begin
        FP2 := Point(X,Y);
        Canvas.Pen.Color := clRed;
        Canvas.MoveTo(FP1.X, FP1.Y);
        Canvas.LineTo(FP2.X, FP2.Y);
        FIsDrawing := False;
      End
    Else
      Begin
        FP1 := Point(X,Y);
        FIsDrawing := True;
      End;

end;

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