• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Определение координат курсора относительно формы

  • Автор темы Flynn
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

Flynn

Как определить координаты мыши относительно формы приложения, а не всего экрана?
Для определения координат курсора в мануале описывают функцию GetCursorPos, но это несовсем то что мне нужно т.к. мне необходимо определение координат курсора мыши именно по отношению к форме (когда он находится в пределах данной формы).
 
G

Guest

Как определить координаты мыши относительно формы приложения, а не всего экрана?
Для определения координат курсора в мануале описывают функцию GetCursorPos, но это несовсем то что мне нужно т.к. мне необходимо определение координат курсора мыши именно по отношению к форме (когда он находится в пределах данной формы).

У формы есть обработчик OnMouseMove, но беда его в том, что при наведении на какой ни будь объект, отличный от формы, событие отлавливаться не будет... Но зато будут точные координаты курсора! :))

Можно ещё опираться на положение формы... мы же знаем координаты её верхнего левого угла???

Код:
var Pos:TPoint;
begin
GetCursorPos(Pos);
Form1.Caption := IntToStr(Pos.X - Form1.Left) + ' ' + IntToStr(Pos.Y - Form1.Top);
end;
Но надо учитывать, что у нас ещё есть Label строка на форме..., а она, в свою очередь, может принимать какие угодно размеры...

Ещё есть способ, с помощью хуков, но использовал я их очень давно и уже не вспомню, подойдёт ли такой метод!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!