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

можно так
PHP код:
procedure TForm1.Image1MouseMove(SenderTObjectShiftTShiftStateX,
  
YInteger);
var
  
Po:TPoint;
  
whoTImage;
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.who.Width div 2;
  
who.Top:=Po.who.Height div 2;
end;

procedure TForm1.Image1MouseDown(SenderTObjectButtonTMouseButton;
  
ShiftTShiftStateXYInteger);
begin
  
(Sender as TImage).Tag := 1;
end;

procedure TForm1.Image1MouseUp(SenderTObjectButtonTMouseButton;
  
ShiftTShiftStateXYInteger);
begin
  
(Sender as TImage).Tag := 0;
end
Ответить с цитированием