用getcursorppos取得鼠标位置,然后把按牛的位置定在鼠标位置的外边,就是按牛.top:=鼠标.x + 10 这样子

解决方案 »

  1.   

    procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    var
      vRect: TRect;
    begin
      GetWindowRect(TButton(Sender).Handle, vRect);
      Mouse.CursorPos := Point(vRect.Left - 1, vRect.Top - 1);
    end;
      

  2.   

    procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    var
      point: tpoint;
    begin
      point := clienttoscreen(x,y);
      setcursorpos(point.x+100,point.y+100);
    end;
      

  3.   

    我想你的意思是这样吧,试一下
    var
      vRect: TRect;
    begin
      randomize;
      GetWindowRect(TButton(Sender).Handle, vRect);
      button2.Left := random(vRect.Left);
      button2.Top := random(vRect.Top);
    end;