Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получить координаты мыши [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 на таймер // если только кордс.


Наверх

Титульная страница Поиск, карта сайта Написать письмо