Delphi Sources

Как автоматически помещать курсор мышки в центр контрола получившего фокус



Нам потребуется универсальная функция, которую можно будет применять для различных визуальных контролов.

Вот пример вызова нашей функции:


procedure TForm1.Button1Enter(Sender: TObject);
begin
  MoveMouseOverControl(Sender);
end;

Сама функция:


procedure MoveMouseOverControl(Sender: TObject);
var
  x, y: integer;
  point: TPoint;
begin
  with TControl(Sender) do
  begin
    x := left + (width div 2);
    y := top + (height div 2);
    point := Parent.ClientToScreen(point);
    SetCursorPos(point.x, point.y);
  end;
end;