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

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Flynn, 21 окт 2006.

Статус темы:
Закрыта.
  1. Flynn

    Flynn Гость

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

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    ScreenToClient?
     
  3. Гость

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

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

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

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

Поделиться этой страницей