![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получить координаты мыши [D5, Win95/98, WinME]
_San_ © (2003-05-16 09:30:00)Добрый день!
Я ставлю хук (из dll) на перемещение мыши, само перемещение отлавливается нормально, но согласно доки параметр lParam функции MouseHook должен возвращать координаты мыши, а в место них там находятся какие-то непонятные числа, которые меняются только, если перемещаешь мышь на пол экрана. Можно ли как-нибудь получать координаты мыши при перемещении по всему экрану, а не внутри окна?
Diamond Cat (2003-05-17 16:43:00) [1]Видимо вы не внимательно прочитали "доки", в хелпе написано что lparam , это указатель на структуру MOUSEHOOKSTRUCT, в которой и находяться (помимо прочего) координаты мыши
для их извлечения достаточно правильно воспользоваться данной структурой к примеру
TMOUSEHOOKSTRUCT(Pointer(Lparam)^).pt.x- координата х
TMOUSEHOOKSTRUCT(Pointer(Lparam)^).pt.y- координата y
_san_ (2003-05-16 11:59:00) [2]> x:=HiWord(lParam);
> y:=LoWord(lParam);
> вроде так.
Я так и делаю
Cobalt (2003-05-16 11:41:00) [3]Еще там, кажется, передаются координаты мышки относительно окна.
The coordinate is relative to the upper-left corner of the client area
DVM (2003-05-16 09:57:00) [4]x:=HiWord(lParam);
y:=LoWord(lParam);
вроде так.
Axis_of_Evil (2003-05-16 09:36:00) [5]GetCursorPos на таймер // если только кордс.