Показать сообщение отдельно
  #3  
Старый 05.10.2011, 06:18
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

можно так
PHP код:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  
Y: Integer);
var
  
Po:TPoint;
  
who: TImage;
begin
  who 
:= (Sender as TImage);

  if 
who.Tag <> 1 then Exit;

//  Po:= (Sender as TImage).ClientToParent(point(x,y));
  
Po := who.Parent.ScreenToClient(who.ClientToScreen(point(x,y)));

  
who.Left:=Po.X - who.Width div 2;
  
who.Top:=Po.Y - who.Height div 2;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  
Shift: TShiftState; X, Y: Integer);
begin
  
(Sender as TImage).Tag := 1;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  
Shift: TShiftState; X, Y: Integer);
begin
  
(Sender as TImage).Tag := 0;
end; 
Ответить с цитированием