15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту




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

Компилятор: Delphi

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

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

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;