Как получить координаты курсора в delphi?

Пользователь

от sylvester , в категории: Другие , 3 года назад

Как получить координаты курсора в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

P

Пользователь

от Programmer , 3 года назад

@sylvester Доброй ночи!

Для получения координат курсора мыши предлагаю воспользоваться функцией GetCursorPos

Пример:

1
2
3
4
5
6
var 
  P: TPoint
begin
  	GetCursorPos(P); //Получаем координаты 
  	ShowMessage('X = ' + P.X.ToString + '; Y = ' + P.Y.ToString); // выводим координаты
end;

Пользователь

от brooklyn , год назад

@sylvester 

В Delphi можно получить координаты курсора с помощью следующего кода:

  1. Используйте функцию GetCursorPos из Windows API для получения текущих координат курсора:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
uses
  Windows;

procedure TForm1.Button1Click(Sender: TObject);
var
  CursorPos: TPoint;
begin
  if GetCursorPos(CursorPos) then
    ShowMessage('X: ' + IntToStr(CursorPos.X) + ', Y: ' + IntToStr(CursorPos.Y))
  else
    ShowMessage('Не удалось получить координаты курсора.');
end;


  1. Определите два события OnMouseMove и OnMouseUp для элемента управления или формы, чтобы отслеживать движение курсора и отпускание кнопки мыши:
1
2
3
4
5
6
7
8
9
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  Label1.Caption := 'X: ' + IntToStr(X) + ', Y: ' + IntToStr(Y);
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  Label1.Caption := 'Курсор отпущен на X: ' + IntToStr(X) + ', Y: ' + IntToStr(Y);
end;


Эти методы позволяют отслеживать движение курсора и получать его координаты в реальном времени.