Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.13;
Скачать: CL | DM;

Вниз

API и WM_MOUSEMOVE   Найти похожие ветки 

 
demon ©   (2008-07-31 15:54) [0]

Создал приложение на API, в нем снимются события WM_MOUSEMOVE и WM_MOUSEWHELL, притом второе работает даже когда мышь не над формой, а вот WM_MOUSEMOVE почему-то не работает когда мышь не над формой.
Как сделать так, чтобы события WM_MOUSEMOVE отлавливались по всему экрану, а не только над формой?


 
tesseract ©   (2008-07-31 15:57) [1]

Глобальный хук поставить. WM_MOUSEWHEEL передаёться окну у которого фокус.


 
demon ©   (2008-07-31 16:03) [2]

Напишите, пожалуйсто, как это сделать?
Или может исходник какой есть, я бы сам разобрался...


 
demon ©   (2008-07-31 16:30) [3]

Для него, что, еще и длл-ку писать придеться?...
Почему же в любом плеере если нажать на прогрессбар и увести мышь с окна программы, то прогрессбар всеровно реагирует на перемещение мышь.


 
Игорь Шевченко ©   (2008-07-31 16:39) [4]

SetCapture/ReleaseCapture


 
Сергей М. ©   (2008-07-31 16:44) [5]


> Почему же в любом плеере если нажать на прогрессбар и увести
> мышь с окна программы, то прогрессбар всеровно реагирует
> на перемещение мышь


Плейеры здесь ни причем, тоже самое ты можешь наблюдать безо всяких хуков и захватов в любом GUI-приложении.


 
tesseract ©   (2008-07-31 16:52) [6]


> то прогрессбар всеровно реагирует на перемещение мышь.


Потому,  как окно мышь не отпустило.

На клавиатуру тут :
http://www.delphisources.ru/pages/faq/base/global_keyboard_hook.html

Как на мышь - посмотри описание. Да и вообще почитай Руссиновича - дестадовские вопросы отпадут.


 
demon ©   (2008-07-31 17:10) [7]

Так ответте еще на один детский вопрос, если писать на API, что, без внедрения dll никак не обойтись?


 
demon ©   (2008-07-31 17:42) [8]


> Игорь Шевченко ©   (31.07.08 16:39) [4]
> SetCapture/ReleaseCapture

Спасибо, вроде чтото дельное, попробую.


 
demon ©   (2008-07-31 20:45) [9]

SetCapture работает! :)
Но появился еще один вопрос, курсор над формой становиться busy, это нормально или я что-то напортачил?


 
tesseract ©   (2008-07-31 23:04) [10]


>  если писать на API, что, без внедрения dll никак не обойтись?


На чём хочешь пиши :-) Просто только API это позволяет.


> Но появился еще один вопрос, курсор над формой становиться
> busy, это нормально или я что-то напортачил?


Просто твое приложение перестают обрабатывать очередь сообщений - вот тебе и курсов Busy.


 
demon ©   (2008-08-01 01:48) [11]

Ясно, всё довел до толку, сделал чтобы SetCapture ставилось при WM_LBUTTONDOWN и снималось при WM_LBUTTONUP и всё заработало превосходно :)
Спасибо Вам, Игорь!



Страницы: 1 вся ветка

Текущий архив: 2009.09.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
15-1247292314
Kerk
2009-07-11 10:05
2009.09.13
Обожаю, когда заказчик точно знает, чето хочет :)


15-1247270707
KilkennyCat
2009-07-11 04:05
2009.09.13
Возможно, не будет работать до понедельника pda.delphimaster.net


15-1247439968
Bruth
2009-07-13 03:06
2009.09.13
Исходник резалки баннеров


3-1226490725
Palladin
2008-11-12 14:52
2009.09.13
Oracle и путь к клиентскому приложению


6-1206613280
Stepper
2008-03-27 13:21
2009.09.13
IdHTTP - как в Get запросе обработать сразу два ЮРЛ?