把Image放在一个容器上,panel或ScrollBox。Image.AutoSize:=True;
下面是代码,已经测试:
private
IsMove:boolean;
pt :Tpoint;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
IsMove:=true;
pt:=Point(X,Y);
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if IsMove then
begin
Image1.Left:= Image1.Left+(X-pt.X);
Image1.Top:= Image1.Top+(Y-pt.Y);
pt:=Point(X,Y);
end;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if IsMove then IsMove:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
self.DoubleBuffered:=true;
end;