29th
Июл

Как запомнить координаты Image?

Posted by Chas under Delphi, Пост-обзор

Подскажите пожалуйста, как сделать, чтобы при нажатии на клавишу ‘V’ картинка (Image1) возвращалась в координаты (X,Y), где последним был сделан клик курсором?

grafgrial:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
procedure FormClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Timer1Timer(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
X0,Y0,X,Y:Integer;

implementation

{$R *.dfm}

procedure TForm1.FormClick(Sender: TObject);
var
Pos: TPoint;
begin
GetCursorPos(Pos);

Image1.Left:= (Pos.X-38)- Form1.Left;
Image1.Top:= (Pos.y-40) - Form1.top;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Pos: TPoint;
begin

if Key= Ord('V') then begin
Image1.Left:=X0;
Image1.Top:=Y0;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Left:= Image1.Left+1;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
X0:=X; // вот тут был последний клик
Y0:=Y;
end;

end.

Вложения
Тип файла: rar click.rar (206.0 Кб, 3 просмотров)

тема на форуме

Похожие статьи

Теги: |