Показать сообщение отдельно
  #3  
Старый 07.01.2014, 18:54
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Лучше имидж - проще. Предварительно надо завести глобальную триаду процедур жима мышки, примерно такую
Код:
var
Xi, Yi : integer;
flg: boolean;

...

procedure TForm1.ImgMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if button = mbLeft then
  begin
   flg:= true;
   Xi:= X;
   Yi:=Y;
  end;
end;

procedure TForm1.ImgMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if flg then
  begin
    (Sender as TImage).SetBounds(
    (Sender as TImage).Left+X-Xi,
    (Sender as TImage).Top+Y-Yi,
    (Sender as TImage).width,
    (Sender as TImage).height);
  end;
end;

procedure TForm1.ImgMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  flg:= false;
end;
и при динамсоздании очередного компонента, наверное примерно так
Код:
with TImage.Create(Form1) do
  begin

...

   OnMouseDown:= ImgMouseDown;
   OnMouseMove:= ImgMouseMove;
   OnMouseUp:= ImgMouseUp;
  end;
назначить для него эту троицу. Всё
Ответить с цитированием