Главная страница
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.014 c
2-1244310707
Pauk
2009-06-06 21:51
2009.09.13
Защита от копирования


1-1215107303
Zheksik
2008-07-03 21:48
2009.09.13
Как провести линию на компоненте фигура(Shape)?


15-1246903377
TUser
2009-07-06 22:02
2009.09.13
"Экономия" на Линуксе


2-1247150550
Elephon
2009-07-09 18:42
2009.09.13
Загрузить в combobox имена папок из указанной директории


15-1247689802
Юрий
2009-07-16 00:30
2009.09.13
С днем рождения ! 16 июля 2009 четверг