![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
API и WM_MOUSEMOVE [D7]
demon © (2008-07-31 15:54:00)Создал приложение на API, в нем снимются события WM_MOUSEMOVE и WM_MOUSEWHELL, притом второе работает даже когда мышь не над формой, а вот WM_MOUSEMOVE почему-то не работает когда мышь не над формой.
Как сделать так, чтобы события WM_MOUSEMOVE отлавливались по всему экрану, а не только над формой?
demon (2008-08-01 01:48:00) [1]Ясно, всё довел до толку, сделал чтобы SetCapture ставилось при WM_LBUTTONDOWN и снималось при WM_LBUTTONUP и всё заработало превосходно :)
Спасибо Вам, Игорь!
tesseract (2008-07-31 23:04:00) [2]
> если писать на API, что, без внедрения dll никак не обойтись?
На чём хочешь пиши :-) Просто только API это позволяет.
> Но появился еще один вопрос, курсор над формой становиться
> busy, это нормально или я что-то напортачил?
Просто твое приложение перестают обрабатывать очередь сообщений - вот тебе и курсов Busy.
demon (2008-07-31 20:45:00) [3]SetCapture работает! :)
Но появился еще один вопрос, курсор над формой становиться busy, это нормально или я что-то напортачил?
demon (2008-07-31 17:42:00) [4]
> Игорь Шевченко © (31.07.08 16:39) [4]
> SetCapture/ReleaseCapture
Спасибо, вроде чтото дельное, попробую.
demon (2008-07-31 17:10:00) [5]Так ответте еще на один детский вопрос, если писать на API, что, без внедрения dll никак не обойтись?
tesseract (2008-07-31 16:52:00) [6]
> то прогрессбар всеровно реагирует на перемещение мышь.
Потому, как окно мышь не отпустило.
На клавиатуру тут :
http://www.delphisources.ru/pages/faq/base/global_keyboard_hook.html
Как на мышь - посмотри описание. Да и вообще почитай Руссиновича - дестадовские вопросы отпадут.
Сергей М. (2008-07-31 16:44:00) [7]
> Почему же в любом плеере если нажать на прогрессбар и увести
> мышь с окна программы, то прогрессбар всеровно реагирует
> на перемещение мышь
Плейеры здесь ни причем, тоже самое ты можешь наблюдать безо всяких хуков и захватов в любомGUI-приложении.
Игорь Шевченко (2008-07-31 16:39:00) [8]SetCapture/ReleaseCapture
demon (2008-07-31 16:30:00) [9]Для него, что, еще и длл-ку писать придеться?...
Почему же в любом плеере если нажать на прогрессбар и увести мышь с окна программы, то прогрессбар всеровно реагирует на перемещение мышь.
demon (2008-07-31 16:03:00) [10]Напишите, пожалуйсто, как это сделать?
Или может исходник какой есть, я бы сам разобрался...
tesseract (2008-07-31 15:57:00) [11]Глобальный хук поставить. WM_MOUSEWHEEL передаёться окну у которого фокус.