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

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

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 передаёться окну у которого фокус.


Наверх

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