![Старый](images/statusicon/post_old.gif)
05.05.2013, 10:17
|
Прохожий
|
|
Регистрация: 22.04.2013
Сообщения: 31
Версия Delphi: d2,4,6,7,8,xe
Репутация: 10
|
|
Можно так. Картинка внутри панели.
Код:
procedure FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile('picture.bmp');
// Задаем размеры (масштаб)
Image1.Width := Image1.Picture.Width;
Image1.Height := Image1.Picture.Height;
end;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
CursorStartPosY := Y;
CursorStartPosX := X;
end;
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
// Перемещение
if (ssLeft in Shift) then begin
Image1.Top := Image1.Top - (CursorStartPosY-Y);
Image1.Left := Image1.Left - (CursorStartPosX-X);
// Чтоб рисунок не выходил за края
if Image1.Top < Panel1.Height - Image1.Height then Image1.Top := Panel1.Height - Image1.Height;
if Image1.Left < Panel1.Width - Image1.Width then Image1.Left := Panel1.Width - Image1.Width;
if Image1.Top > 0 then Image1.Top := 0;
if Image1.Left > 0 then Image1.Left := 0;
end;
end;
|