我在ScrollBox中有一个TImage组件,其中图像大于ScrollBox。我可以使用滚动条在ScrollBox中移动图像,但是我想使用鼠标。我想单击图像并将其拖动以在ScrollBox中移动它。当我这样做时,ScrollBox的滚动条应相应移动。
我将图像光标设置为crHandPoint,以便人们期望他们可以移动图像。
我的问题是,我该如何进行这项工作?
procedure TfrmKaarte.imgKaartCanvasMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
bPanning:=True;
pt := Mouse.CursorPos;
end;
procedure TfrmKaarte.imgKaartCanvasMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if bPanning=True then
begin
imgKaartCanvas.Left:=X+imgKaartCanvas.Left-pt.X;
imgKaartCanvas.Top:=Y+imgKaartCanvas.Top-pt.Y;
end;
end;
procedure TfrmKaarte.imgKaartCanvasMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
bPanning:=False;
end;