(转载)图片的漫游
图片的漫游
把图片放在一个Panel里面,设置图片的AutoSize:=true,Cursor:=crHandPoint;
通过改变Panel的大小控制图片可见内容的范围。
然后在图片的OnMouseMove写相关代码,控制图片的Top,Left值。
var
CanMove : boolean;
X1, Y1 : integer;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
CanMove := True;
Image1.Cursor := crHandPoint;
X1 := X;
Y1 := Y;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
CanMove := False;
Image1.Cursor := crDefault;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if CanMove then
begin
Image1.Left := Image1.Left + X - X1;
Image1.Top := Image1.Top + Y - Y1;
X1 := X;
Y1 := Y;
end;
end;