unit szempar;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Balszem: TShape;
    Bal: TShape;
    Jobbszem: TShape;
    Jobb: TShape;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
Var Tort:Double;
begin
    MouseCapture:=true;
    Tort:= (Balszem.Width - Bal.Width)/2/
          Sqrt (Sqr(X-Balszem.Left-Balszem.Width/2)+
                Sqr(Y-Balszem.Top-Balszem.Height/2));
    Bal.Left:= Trunc(Balszem.Left + Balszem.Width/2+
               Tort*(X-Balszem.Left-Balszem.Width/2)
               -Bal.Width/2);
    Bal.Top:= Trunc(Balszem.Top+Balszem.Height/2+
              Tort*(Y-Balszem.Top-Balszem.Height/2)
              -Bal.Height/2);
    Tort:=(Jobbszem.Width-Jobb.Width)/2/
          Sqrt(Sqr(X-Jobbszem.Left-Jobbszem.Width/2)+
               Sqr(Y-Jobbszem.Top-Jobbszem.Height/2));
    Jobb.Left:=Trunc(JObbszem.Left+Jobbszem.Width/2+
               Tort*(X-Jobbszem.Left-Jobbszem.Width/2)
               -Jobb.Width/2);
    Jobb.Top:= Trunc(JObbszem.Top+Jobbszem.Height/2+
               Tort*(Y-Jobbszem.Top-Jobbszem.Height/2)
               -Jobb.Height/2);

end;

end.
