imagemouse事件 begin (Sender as Timage) .Parent.left+x-XX; (Sender as Timage) .Parent.Top+y-yy; Sender as Timage) .top+y-yy;; (Sender as Timage) .left+x-XX; end; imagemousedown事件 begin XX:=x; yy:=y; end; 你试一下,看看行不行
var Form1: TForm1; xx,yy:integer; Ismousedown:boolean;implementation{$R *.DFM}procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var panel:Tpanel; begin if not Ismousedown then exit; (sender as timage).parent.left:=(sender as timage).parent.left+x-xx; (Sender as Timage).Parent.Top:=(Sender as Timage) .Parent.Top+y-yy; end;procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Ismousedown:=true; XX:=x; yy:=y; end;procedure TForm1.FormCreate(Sender: TObject); begin Ismousedown:=false; end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Ismousedown:=false; end;
begin
(Sender as Timage) .Parent.left+x-XX;
(Sender as Timage) .Parent.Top+y-yy;
Sender as Timage) .top+y-yy;;
(Sender as Timage) .left+x-XX;
end;
imagemousedown事件
begin
XX:=x;
yy:=y;
end;
你试一下,看看行不行
Form1: TForm1;
xx,yy:integer;
Ismousedown:boolean;implementation{$R *.DFM}procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var panel:Tpanel;
begin
if not Ismousedown then exit;
(sender as timage).parent.left:=(sender as timage).parent.left+x-xx;
(Sender as Timage).Parent.Top:=(Sender as Timage) .Parent.Top+y-yy;
end;procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Ismousedown:=true;
XX:=x;
yy:=y;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Ismousedown:=false;
end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Ismousedown:=false;
end;