用Graphics32->TImgView32组件,实现图像拖动?多谢
想导入一张bitmap图片,图片比较大,要能像ACDSee那样拖动,应该怎么做呢?
[解决办法]
procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer; Layer: TCustomLayer);
begin
if Button = mbLeft then
begin
OldMousePos := Point(X, Y);
MouseDragging := True;
Image.Cursor := crSizeAll;
end
{$IFNDEF CLX}
else ReleaseCapture;
{$ENDIF}
end;
procedure TForm1.ImageMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer; Layer: TCustomLayer);
begin
if MouseDragging then
begin
Image.Scroll(OldMousePos.X - X, OldMousePos.Y - Y);
OldMousePos := Point(X, Y);
Image.Update;
end;
end;
procedure TForm1.ImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer; Layer: TCustomLayer);
begin
if Button = mbLeft then
begin
MouseDragging := False;
Image.Cursor := crDefault;
end;
end;
[解决办法]
examples 下的 ByteMaps_Ex.dpr