07.05.2013, 01:34
|
Прохожий
|
|
Регистрация: 09.04.2013
Сообщения: 23
Версия Delphi: Delphi 7
Репутация: 10
|
|
Перемещение массива Image
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
var
x0,y0:integer;
move:boolean;
x1,y1:integer;
move1:boolean;
{$R *.dfm}
procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//проверяем нажата ли левая кнопка мыши
if button<>mbLeft then move:=false
else begin
move1:=true;
x1:=x; //запоминаем координату x
y1:=y; //запоминаем координату y
end;
end;
procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if move1 then
begin
image2.SetBounds(image2.Left+x-x0,image2.Top+y-y0,image2.width,image2.height);
end;
end;
procedure TForm1.Image2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move1:=false;
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//проверяем нажата ли левая кнопка мыши
if button<>mbLeft then move:=false
else begin
move:=true;
x0:=x; //запоминаем координату x
y0:=y; //запоминаем координату y
end;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if move then
begin
image1.SetBounds(image1.Left+x-x0,image1.Top+y-y0,image1.width,image1.height);
end;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move:=false;
end;
end.
Это код для перемещения картинок. как сделать,чтоб для 2 картинок была одна и та же функция,но разные номера image в зависимости от того,какой выделен?
|